Mishaal Rahman Profile picture
Feb 8, 2023 73 tweets 22 min read Read on X
Here is my big thread on what’s new in Android 14 Developer Preview 1. Android 14 DP1 is a MAJOR release so there are a LOT of new features and changes 👀 (thread):
“Fast pair” settings has been re-added to Settings > Connected devices > Connection preferences. These settings used to be available in early Android 13 previews but were removed in Beta 3. ImageImage
Fast Pair, short for Google Fast Pair Services, is currently part of Google Play Services. Android 13 introduced a new “Nearby” Mainline module to AOSP that contains the code necessary to scan and pair nearby Fast Pair devices.
Under Settings > System > Multiple users, there’s now an “allow guest to use phone” toggle that lets you control whether the guest profile can make phone calls/send text messages. If you enable it, your call history is shared with the guest user. Image
In Developer options, there’s now a “disable child process restrictions” toggle. Enabling this disables the monitoring of so-called “phantom processes”, child processes forked by app processes that the framework couldn’t track the lifecycle of. Image
This setting is simply a more accessible way to disable phantom process monitoring, which previously required flipping a feature flag that’s only visible on userdebug builds or flipping that same flag via ADB.) blog.esper.io/android-12l-de…
Also in Developer Options, “NFC verbose vendor debug log” and “NFC NCI unfiltered log” have been added to allow for capturing more detailed logs on NFC packets. Enabling these requires a reboot. ImageImage
In Settings > About phone, the “device details” section now has an EID option. You previously had to tap “SIM status” to see the EID. Also, the EID and IMEI are now hidden on this page by default. You have to tap the item to show the value. Image
Here's a first look at the enhanced predictive back gesture in Android 14:
Android 14 will now warn you when you install an app that targets API level 27 or lower (ie. Android 8.1 or older). The threshold that triggered this warning was previously set at API level 22 (Android 5.1) in Android 10.
xda-developers.com/android-q-warn… Image
As I mentioned in the other thread, Android 14 by default will also block you from installing any app that targets API level 22 (Android 5.1 Lollipop) or lower. You can ignore the warning when you install an app that targets API 23 - 27.
Android 14 adds key layout files for the Sony Playstation DualSense Edge Controller (Vendor_054c_Product_0df2.kl) and the SteelSeries Stratus+ (Vendor_1038_Product_1434.kl). These define the mapping between button presses and Android input events. Image
For the Sony Playstation Dualsense Edge Controller in particular, however, your device will also need new hid-playstation kernel patches to properly support the controller. This is because the DualSense Edge has a new product ID, so the existing hid-playstation driver won’t work.
Sony has backported patches to GKI kernel android11-5.4 and later. You can see the work in AOSP under the “hid-playstation-2022” tags: android-review.googlesource.com/q/%22hid-plays…
Android 14 may let you pick which photos and videos apps have access to through the Photo Picker, EVEN IF the app asks for full gallery access/doesn't use the Photo Picker! Say bye bye to giving apps like Facebook/Twitter access to your entire gallery.

The battery usage page has been tweaked. You’ll now see the screen time since last full charge below the battery graph. The “app usage” & “system usage” sections are now shown separately; the dropdown menu lets you switch between a battery breakdown by apps or by system. Image
The Battery Saver page now shows the Extreme Battery Saver toggle so you don't have to open a subpage. The "Adaptive battery" toggle has also been moved here. "Set a schedule" has been renamed to "schedule and reminder". Image
The "Schedule and reminder" page, where you can determine when Battery Saver activates, has removed "based on your routine" as an option. Also, the minimum battery % threshold has been raised to 20% from 10%, and a new "battery saver reminders" toggle has been added. Image
Android 14 is testing an app cloning feature!

I previously reported that Health Connect might become part of the Android OS in Android 14, and I was right! Android 14 DP1 ships with a new Mainline module called Health Connect that contains the Health Connect app.

Details here: xda-developers.com/android-14-hea…
Health Connect provides the AOSP compatible version of the Health Connect app. Since this is baked into the OS, you won’t need to download the app from Google Play anymore, plus it’ll work without GMS. Also, Google's working on a migration path.
Other new Project Mainline (APEX) modules include: Config Infrastructure, Cronet, Device Lock Controller, and Remote Provisioner. In order, these:
Config Infrastructure provides an updatable DeviceConfig implementation. This API is used by Google Play Services to remotely toggle flags that affect feature rollouts.
Cronet is the Chromium network stack made available to Android apps as a library. The module itself is currently empty, a stub APEX basically, though.
Device Lock Controller contains the Mainline version of the Google app by the same name, but with a different package name. The app in question is used to lock down financed phones. xda-developers.com/google-device-…
Remote Provisioner contains the Remote Key Provisioning app and system service. For context on what Remote Key Provisioning is: blog.esper.io/android-13-dee…
A win for security: Android 14 makes the OS's root store updatable via Google Play! As I previously reported, the Conscrypt module has been updated with a copy of the root store. Conscrypt is updatable via Google Play System Updates.

Details here: xda-developers.com/android-14-roo…
In addition, Android 14 removes the following root certificates from its root store: Image
And Android 14 also adds the following root certificates to its root store (CC @letsencrypt because ISRG Root X2 has been added): Image
“Turn screen on” under Settings > Apps > Special app access no longer lists any apps as holding this permission. This is because this screen used to list every app with the WAKE_LOCK permission but now only lists apps that request the new TURN_SCREEN_ON permission. Image
The TURN_SCREEN_ON permission, as its name implies, “allows the app to turn on the screen.” It has a protection level of “appop”, so it can be granted/revoked by the user through “special app access” settings.
Android 14 will let you grant secondary users admin privileges, which lets them manage other users, modify device settings, and even factory reset the device. This feature isn’t enabled by default, however. Android Automotive also already offers this feature. ImageImageImage
Android 14 is adding a dedicated settings page for hearing devices at Settings > Accessibility > Hearing devices. Here you can pair a new hearing aid device, enable a shortcut to these settings, and toggle "hearing air compatibility". This page right now is guarded by a flag. Image
"Safety Center" no longer has dropdowns for every item. Instead, tapping an item opens a subpage. Image
The “Reset Wi-Fi, mobile, & Bluetooth” settings has been split up into “Reset Mobile Network settings” and “Reset Bluetooth & Wi-Fi”. Image
Android 14 is adding a new "apps installed in the background" page that tracks apps your OEM or carrier may have silently installed in the background. You can then quickly uninstall any such apps from this page.

Android 14 is adding a user-facing toggle to enable Memory Tagging Extension, a hardware feature available for Armv8.5+ CPUs that can help mitigate severe memory safety bugs.

On Pixel devices under Settings > About phone > Legal information, there's a new entry for "Source code." Tapping it leads you to this webpage: support.google.com/pixelphone/ans… Image
There are new settings for remapping modifier keys and toggle touchpad gestures, among other improvements to keyboard input in Android 14!

Android 14 seems to add support for a new version of the USB Gadget HAL: v2.0 can report whether a connected USB-C cable supports DP Alt Mode.

May we finally get a Pixel with video output via USB-C? Wishful thinking on my part, but with all the recent desktop mode improvements..
Two wearable related changes:

1) An update to the Ambient Context API (used on Pixel 6+ for privacy-preserving cough & snore detection) to allow for receiving Ambient Context events from a remote connected wearable device. The system will bind to a "wearable sensing service."
The wearable may need to be running Wear OS 4 based on Android 13 for this to work, however.

2) Under the Settings.Clockwork namespace, there's a new DYNAMIC_COLOR_THEME_ENABLED value, suggesting Android 13-based Wear OS 4 will support dynamic coloring.
Watchfaces on Wear OS can expose their colors to the system using the Wear Watchface API:
Android's Virtual Device system API, which powers the still-unreleased app streaming to Chromebook feature in Android 13, is adding support for getting/sending camera streams and sensor data.
Two new Companion Device profiles have been added: Glasses and Nearby Device Streaming. The former will let an app that manages your connected smart glasses have access to Phone, SMS, Contacts, Microphone, and Nearby devices permission.
The latter will let an app also stream content to nearby devices through the CREATE_VIRTUAL_DEVICE, ADD_TRUSTED_DISPLAY, and ADD_ALWAYS_UNLOCKED_DISPLAY permissions. Glasses role is open to any app, but Nearby Device Streaming is system-only.
Now this is just a guess, but with all the rumors surrounding Google's foray back into AR smart glasses, it makes sense to me. This could be used to simplify setup/permission granting for AR glasses. The latter would let you stream an app from your phone to those glasses.
You can already stream apps to the Google Glass Enterprise Edition 2 if you have a Pixel 6+ on Android 13. The companion app uses the virtual display APIs I mentioned before.

@Deadman_Android kind of got it working and might be able to share more details.
I'm not really sure how this would work, but there's a new feature that will allow you to toggle the use of "null cipher" encryption for cellular connectivity. This could be related to mobile <-> tower encryption, adding some noise to the data that's sent.
The toggle has the title "allow less secure connection". Its description reads: "May improve your signal in some locations. For emergency calls, less secure connections are always allowed."
I'm not really sure what use this has, but media_codecs.xml in the MediaCodecs module now mentions a software AV1 encoder. I don't actually see the sw AV1 enc in lib. I wonder if they're using dav1d or the reference AOM enc? aomedia.googlesource.com/aom/+/refs/hea… Image
Still not entirely sure what "satellite support" entails in Android 14, but there is going to be a new HAL to implement: android.hardware.radio.satellite.IRadioSatellite. There's an SELinux policy for it, but I don't see much else yet.
Even though installing apps targeting an API level older than 23 should be blocked in DP1, as noted in the official blog post, it doesn't look like it's actually working for me.

(RIP Flappy Bird, you had a good flap.) ImageImageImage
How long can/should I keep this thread going for, lol? Anyway, here's another new feature that's being tested: Regional preferences.

Android 14 is preparing to add a new option in settings to convert a physical SIM to eSIM, shown below, as well as an option to transfer an eSIM between devices. Image
Note, however, these do not do anything on their own. They depend on the system LPAd app, which on Pixel devices is just called "SIM Manager", to actually support this functionality.
New APIs in Android 14 allow third-party app stores to do "gentle updates", take ownership over updates of an app, and request preapproval from a user for installs.

Hey developers: You know that data safety section Google Play made you fill out? Well, double check that info, because it might appear right in Android 14's settings and permissions dialogs.

Let's talk about some new APIs quickly.

- New PM API to see if a device supports seamless refresh rate switching. I guess this will be a way to tell if a device supports VRR or not, but only if the OEM declares it. (Returns 'false' on my P6P right now).

developer.android.com/reference/andr…
- Another new PM API to determine if a device supports ultra-wideband (UWB) connectivity. I thought this already existed, but surprisingly not? The feature declaration already returns true on my P6P running Android 13.

developer.android.com/reference/andr…
- New API to determine where exactly the NFC antenna is on a device. This is already in AOSP, and it requires the OEM (of course) to define the location in the framework.

developer.android.com/reference/andr…

android-review.googlesource.com/q/topic:%22nfc…
- There's a new DETECT_SCREEN_CAPTURE permission that "allows an application to get notified when a screen capture of its windows is attempted." There's no impl of this in DP1 beyond this new permission, though.

developer.android.com/reference/andr…
Yes, apps can already detect when you've taken a screenshot (Snapchat famously does it), but there's been no official API to do so: proandroiddev.com/detect-screens…
- New Telephony APIs to enable call streaming, ie. streaming a VOIP call to another device.

developer.android.com/reference/andr…

developer.android.com/reference/andr…
- New altitude converter API to convert "altitudes reported above the World Geodetic System 1984 (WGS84) reference ellipsoid into ones above Mean Sea Level."

developer.android.com/reference/andr…
- Framework APIs for Health Connect, DeviceLock, and AdServices are now available. Health Connect and Device Lock are new APEX modules in U. Not sure if Device Lock will be a Mainline module since it isn't mentioned in ModuleMetadata, but Health Connect is.
AdServices refers to the APIs that power the Privacy Sandbox features. Android 14 DP1 ships with extension SDK version 5 and thus supports Privacy Sandbox out of the box rather than needing a GPSU like Android 13 does.
There's a lot, lot more that I want to mention. I'll be posting more articles in due time!
Ah, actually, I missed a few things.

- A new API that lets apps know who started them, if the app that does the launching opts in.

developer.android.com/reference/andr…
- Apps that use the MediaProjection API can now specify *which* display to start recording.

developer.android.com/reference/andr…
- An API to get the advertised memory size (androidboot.ddr_size) from the bootloader which may differ from MemTotal (/proc/meminfo). This could be due to, say, the ODM reserving part of the memory for the TEE.

developer.android.com/reference/andr…

android-review.googlesource.com/q/topic:%22ddr…
- An API to put a freeform activity into fullscreen, but only if the activity is on a freeform display. (Android's desktop mode, Chrome OS, etc.)

developer.android.com/reference/andr…
- A new intent to launch the system output switcher. The field EXTRA_PACKAGE_NAME specifies the package name of the calling app so the system can get the corresponding MediaSession for the switcher.

developer.android.com/reference/andr…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Mishaal Rahman

Mishaal Rahman Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @MishaalRahman

May 14, 2024
It's time for #GoogleIO 2024! Here's my thread covering everything Google is announcing 🧵 Image
AI Overviews in Google Search is rolling out to everyone in the US and coming to more countries soon! Image
Google Photos is getting AI search! It'll search through your photos to find info based on your query. Image
Read 34 tweets
Jan 10, 2024
Here's what's new in Android 14 QPR2 Beta 3 🧵 Image
Android finally has a pop-up dialog for the Bluetooth Quick Setting tile! I previously spotted this in the QPR2 Beta 2 release, but it's now enabled by default in QPR2 Beta 3!

(Image credits: @Nail_Sadykov.) Image
Android 14 QPR2 Beta 3 is preparing to add a new "make all apps dark" toggle under Settings > Accessibility > color and motion. This option inverts the colors of apps that don't support a dark theme. This does the same thing as the developer option, just now available outside of dev options.Image
Image
Image
Read 9 tweets
Dec 11, 2023
Here's what's new in Android 14 QPR2 Beta 2, the second beta update for the next quarterly Android release that will roll out in March 2024 🧵 Image
For context, check out my previous deep dive thread on Android 14 QPR2 Beta 1, as I will likely mention a lot of things I found in the first beta:
In the "Internet" panel, there's now a "Share Wi-Fi" button in the bottom left. Tapping this button opens the existing Share Wi-Fi page where a QR code is shown that others can scan to join your network, or you can tap "Nearby" to share your Wi-Fi credentials via Nearby Share. Image
Read 11 tweets
Nov 15, 2023
Here's what's new in Android 14 QPR2 Beta 1 🧵 Image
The build ID now starts with AP11 instead of U2B1. For a bit of context on why that is, refer to this thread:
Image
After updating to the new build on Pixel, you'll see a "Your Pixel is up to date" screen. Image
Read 21 tweets
Oct 4, 2023
Android 14 is rolling out for the Pixel 4a 5G and later starting TODAY! The update brings more customization, control, and accessibility features. If you haven’t been on the beta and want to know what new features are in Android 14, here’s a summary of the highlights: Image
Google says that several of the large-screen features originally planned for Android 14 were made available as updates to Android 13. This is because the Pixel Tablet and Pixel Fold shipped with Android 13 QPR3, so these features had to be ready for their launch.
Speaking of the Pixel Fold, Google Translate will soon be adding a Dual Screen Interpreter Mode, which will show your own words on one screen and your translated words on the other screen.
Read 28 tweets
Jul 11, 2023
Android 14 Beta 4 just dropped, so here’s my thread covering what’s new 🧵
Sidenote: I’m only covering changes that were added since Android 14 Beta 3, so there won’t be a lot! If you want to see what the previous Developer Previews/Betas introduced, check out my earlier threads: twitter.com/MishaalRahman/…
Houston, we have a liftoff 🚀! The new Easter egg is here in Android 14 Beta 4, and it’ll delight any space sim enthusiasts out there. I don’t know what the heck I’m doing, but here’s a first look at the new Easter egg! I bet @dsandler had a LOT of fun with this one.
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(