The biggest week for Android 12 since Android 12
Google may have released Android 12 to the public over two months ago, but it was clear that there was still a lot of work to be done following the update rollout for Pixel phones. Android 12 is no doubt Google’s most ambitious update to the operating system in years, but an unfortunate consequence of making so many drastic changes on such a tight schedule is that it couldn’t iron out every kink before the first release. Google even released Android 12 a month later than it released the last two versions of the OS, but an extra month wouldn’t be enough to patch every hole in the wall.
Fortunately, development on Android never stops, so Google has been hard at work fixing the myriad of issues raised by users, culminating in nearly 100 issues being addressed in the most recent Android 12 update for Pixel phones. Said update not only included the latest security patches from the December 2021 Android Security Bulletin but also a slew of new features from the quarterly Pixel Feature Drop and enhancements from the first Quarterly Platform Release (QPR) for Android 12. To top it all off, on Wednesday Google released the first beta of Android 12L for Pixel phones, an update that honestly won’t make much of a difference for phones but will mean the world to tablets and foldables.
This week has certainly been a busy one for Android updates, so in this edition of Android Dessert Bites, I’ll be breaking down the Android 12 QPR1 and Android 12L Beta 1 updates.
You may be wondering about my promise from last week’s column to share some tidbits about the next major version of Android, Android 13 “Tiramisu.” Don’t worry, I didn’t forget — I just felt that the release of Android 12 QPR1 and Android 12L Beta 1 in the same week were too important to ignore. At the end of this post, I’ll share a teaser of what I originally planned to post this week and an extra something special I heard about Android 13 to keep you guessing. 😉
What’s new in Android 12 QPR1
- Support for dynamic color boot animations have made their way to Android 12. On Pixel, the color palette generated from your wallpaper is used to theme the G logo on the boot screen. You can see what this looks like on real hardware over on Android Police. It’s worth noting that this feature first made an appearance in the Developer Preview of Android 12L. The AOSP code change implementing this feature can be viewed here.
- You can now customize the sensitivity of the long-press power gesture. Like in Android 12L, the latest Android 12 release has added a slider that lets you adjust how long you have to press and hold the power button to trigger the long-press power gesture. The AOSP code change for this feature can be seen here.
- The Internet panel has seen a few changes. First of all, the panel now supports Ethernet networks. Second, the panel can now be opened when the phone is locked, but you’ll only be able to toggle Wi-Fi on/off; Wi-Fi entries are hidden until the phone is unlocked. Third, the panel will show a gear icon to open Wi-Fi settings for networks created with the WPA-PSK/WPA2-PSK security protocol; this is intended to better support connecting to printers/GoPros. The Internet panel now warns the user that Wi-Fi scanning can still occur even if Wi-Fi is disabled. Lastly, the Internet tile has fully replaced the discrete Wi-Fi and cellular Quick Settings tiles, so if you still had those tiles before updating, they’ll be gone after updating. There’s a workaround, though, which I’ll be sharing below.
- A couple of fixes and enhancements have been made to Launcher3, the reference launcher implementation in AOSP. Tapping on a widget will no longer show a splash screen, though this will be reworked for Android 13. You can now dismiss notifications from an app’s home screen context menu. When you drag the overlay to show the minus one screen (the Google Discover feed on most devices), a subtle wallpaper zoom out effect will play out. The launcher preview will now fully load widgets, which helps demonstrate how a change in wallpaper will affect any widgets that support dynamic colors in Android 12. A bug that made work apps show up in the personal tab has been fixed.
- The Settings scaffolding for VoNR has been added. VoNR is short for voice over new radio, AKA 5G. VoNR support is still being tested by carriers, modem makers, and OEMs, so don’t expect to be making voice calls over 5G on your current phone.
- Although the Pixel’s Game Dashboard UI is proprietary to Google, the underlying Game Mode APIs are not. In the latest Android 12 release for the Pixel 6, the ANGLE graphics support library will be used for certain apps and games. This code change enables ANGLE as a game dashboard intervention. Game developers can include metadata in their app manifest to allow/disallow ANGLE interventions.
- There are three new demo images in color mode settings so you can see how each mode will affect the colors of images on screen. You can download the original image files here.
- Google has finally added documentation for Android 12’s UI translation API. This API lets apps add support for inline translation of views, but it requires the presence of a “translation service,” which is usually provided by the platform intelligence application. On Pixel 6, this service is provided by the Android System Intelligence app, and this feature is used to perform inline translation of views in the Messages app as part of the phone’s Live Translate feature.
- A settings toggle for ultra-wideband (UWB) has been added on supported devices like the Pixel 6 Pro. UWB on the Pixel 6 Pro is currently used by Nearby Share to identify the relative position of other nearby UWB devices to share files with.
- Lastly, here’s a few smaller miscellaneous changes:
- The battery usage chart now shows the time unit (such as AM/PM) to make it less confusing.
- The battery usage screen will no longer show how long the camera process has been running in the background, which should reduce confusion since the camera process is pinned to memory to speed up launching time.
- The auto-rotate preference now has a toggle switch in display settings.
- The screenshot view will now dismiss to the side on timeout to be consistent with the dismissal animation that’s played when swiping it away.
- You can now modify settings for disabled SIM cards, which were previously hidden if they lacked mobile data capability.
- The voice interaction service will pass a hint to boost the device performance when a voice session is active, i.e. when you’re talking to Google Assistant.
- A bug that made adaptive brightness go wild when Reduce Bright Colors was enabled has been fixed.
That’s the gist of what’s changed in the Android 12 QPR1 release. There are a bunch of smaller changes, but there aren’t any more that I think are worth pointing out in this post. As promised, I’ll now share a trick that you may enjoy if you dislike the Internet panel in Android 12.
Bring back the old Wi-Fi and Cell tiles on Android 12
Since the old Wi-Fi and Cell tiles are only hidden but not removed on Android 12, it’s possible to bring them back. I shared one such method a few weeks ago, but that command alone no longer works following the QPR1 update.
After setting up ADB, just run the following two commands:
settings put global settings_provider_model false settings put secure sysui_qs_tiles “wifi,cell,$(settings get secure sysui_qs_tiles)”
The reason this works is because the “settings_provider_model” value is the feature flag gating the “Provider” model, the code-name for the Internet panel. By setting it to false, the code that replaces the Wi-Fi tile with Internet and removes the Cell tile won’t be run.
What’s new in Android 12L Beta 1
Android 12L is an update that’s already light on new features, so it should come as no surprise that there haven’t been many changes between Android 12L DP1 and Beta 1. For brevity, I’ll only list the changes that have been made between DP1 and Beta 1. If you’re interested in seeing a full changelog between Android 12 and 12L, be sure to read my deep dive on the subject.
- Google has partially restored the ability to control the volume of remote cast sessions. Due to an unspecified “legal issue,” Android 12 removed the ability to adjust the volume of a remote cast session through a volume key press once the user leaves the app that’s casting. This hasn’t been fully fixed in Android 12L, but at least you can now control the volume of a remote cast session through the expanded volume panel.
- The context menu that appears when long pressing on any empty spot of the home screen will now show your five most recent wallpapers, letting you quickly switch between them without opening the wallpaper picker. This feature was previously gated behind a feature flag.
- The Internet panel and screen recorder panel now sit at the center of the screen rather than being anchored to the bottom. A new animation plays when either panel is opened.
- When resizing windows in split-screen mode, Android will no longer show you a live preview of the windows being resized (which was often quite buggy). Instead, you’ll now see an opaque light or dark background with the app icon centered. An example of this can be seen here.
- There’s a new multi-user switcher UI. When tapping the user switcher button in the notifications panel, the multi-user switcher now opens up in a centered pop-up window that floats above system interfaces. The old UI hails from the days of Android 5.0 Lollipop, but this new UI is more in line with modern Android design. When tapping the user switcher on the lock screen, a semi-transparent dropdown menu lets you switch between users.
- A slight update to the animation for opening the notification panel: You can now see the size of Quick Settings tiles change as the panel expands downward. You can see this new animation in action in this video.
- The Google search bar that’s persistently shown at the bottom of the home screen in the Pixel Launcher may soon launch the new, much faster search interface that was added to the app tray in Android 12. At the moment, this feature is gated by a launcher flag hidden behind developer options. You can see what this looks like here.
- The taskbar can now be hidden by long pressing on it. This functionality was broken in DP1 due to a bug that Google acknowledged. Taskbar icons can also be long pressed to show the same context menu that appears when long pressing the app’s icon on the home screen, but this functionality is currently hidden behind a feature flag.
- The recents overview now indicates when two apps have been paired by placing their icons side by side. To create an app pair, simply launch both apps in split-screen mode. Tapping on an app pair in the recents overview will reopen both apps in split-screen mode.
- Android 12L Beta 1 has implemented a patch that blocks non-root shell access to the Fabricated Overlay API.
- Here are a few additional, more minor changes:
- A subtle haptic feedback effect is played when swiping through apps in the recents overview. In addition, the “clear all” button now has an opaque, pill-shaped background so it stands out more.
- The widget picker now covers more of the screen when browsing widgets for a particular application. In addition, the two weather widgets provided by the Google App are now in their own section called “Weather”.
- Themed icon support has been extended to Fitbit, Google Voice, Nest, Google Admin, and Google Earth. This feature is Pixel-exclusive and the list of themed app icons is hardcoded into SystemUI.
Thanks for reading this week’s edition of Android Dessert Bites! This has certainly been the biggest week for Android 12 since Android 12, to quote our Editor-in-Chief David Ruddock. If there is another QPR, it probably won’t be as substantial of an update as QPR1. Android 12L will be released in early 2022 anyway, so that’s the next update to look forward to if you have a Pixel phone.
If you don’t have a Pixel phone, keep an eye out for an announcement from your OEM regarding the Android 12 rollout for your phone. Based on the timing, that update may or may not include the QPR1 changes, in which case you’ll have to wait for another update to bring the fixes and enhancements I mentioned above.
I’ll be digging into Android 12 QPR1 and Android 12L Beta 1 some more to see if there are any other changes left to uncover. The source code for the former is already available, but the same isn’t true for the latter. If I do find anything else that’s new in the 12L beta, I’ll update my deep dive article with the new information. You can also follow me on Twitter to read my latest findings before they make their way into an article, but if you have something you want to add, feel free to reach out to me at email@example.com.
Android 13 T(easers)
To close this week’s edition, I’ll leave you with a teaser for next week. In Android 13, we’ll be seeing the fruits of Google’s work to bring the Linux kernel virtualization mechanism called KVM to Android. It’s speculated that the ML workloads running on the “Private Compute Core” of Android 12 for Pixel actually makes use of this, with the workloads running on a stripped-down Android image called “microdroid”. It’s never been proven that this is actually the case given how tightlipped Google has been about the inner workings of the Private Compute Core.
However, there is another use case that Google has been a bit more open about. Within AOSP are hints at a new system service called “Isolated Compilation” which compiles boot and system service classpath JARs in a protected VM. An operating system Google is calling “CompOS” (short for Compilation OS) will be running in this VM. I’ll be talking about this and other interesting AOSP code changes in next week’s Android Dessert Bites.
Oh, and here’s a little extra something I learned about Android 13: TARE. This acronym stands for “The Android Resource Economy,” a new system service in Android 13. There’s only a single reference to it in AOSP, so I’ll refrain from divulging any additional information about it, but I can tell you that it’s going to be a big change. Keep your eyes peeled for the Android 13 Developer Preview!