Wednesday, April 21, 2021

Android 12 DP3 Analysis: Here are all the hidden features!

In less than a month, Google will take the wraps off of Android 12 at Google I/O, but before then, we’ve just been given the third Developer Preview to sift through. DP3 contains a handful of new APIs and noticeable user-facing changes, but it also, as usual, contains loads of hidden changes under-the-hood. We’ve been digging into the release to find out everything that’s coming to Android 12, and here’s a summary of what we found in Developer Preview 3.

A quick note: Today’s DP3 release is actually older than the leaked Android 12 build we detailed last week. Some of the features we spotted in that leaked build are now available to all users, but many of them aren’t available. In fact, code for some of the hidden features we spotted — such as a framework for app UI translations — hasn’t even been added to DP3 at all. Conversely, there are some features, like the improved Game Dashboard and new Quick Settings panel design that we’ll detail below, that we weren’t able to activate in that leaked build. I won’t be rehashing every hidden change in DP3 that we spotted earlier in the leaked build, but I will make note of changes that corroborate what we found in the leaked build.

Now that that’s out of the way, here’s our analysis of Android 12 Developer Preview 3. Special thanks to developer kdrag0n for working with us and for sharing many of their findings over chat!

An APK teardown can often predict features that may arrive in a future update of an application, but it is possible that any of the features we mention here may not make it in a future release. This is because these features are currently unimplemented in the live build and may be pulled at any time by the developers in a future build.


Navigate this article


Hidden Features in Android 12 DP3

Major Quick Settings redesign in the works

We’ve had an inkling that there’s going to be a major UI overhaul in Android 12, but with each new Developer Preview release, we’ve come to understand that the UI changes will be more drastic than we ever expected. In Android 12 DP1, we enabled a new Quick Settings panel design with an opaque background, thicker brightness slider, and label-less tiles. In the leaked build, we discovered that Google is tweaking that hidden thick brightness slider a bit so the thick part reflects the current brightness level.

Now in Android 12 Developer Preview 3, developer kdrag0n has uncovered a wildly different Quick Settings panel design that incorporates that same brightness slider but turns the small, rounded Quick Settings tiles into larger, rectangular tiles. These larger tiles contain the label and the sublabel, if available. These tiles are arranged in 4 rows containing 3 tiles each for a total of 12 Quick Settings tiles on a single page. The build number is now shown above the edit button, which has now been enclosed in an oval. The Settings cog has also been enclosed in an oval but has been shifted to the center. Finally, there’s now a power button at the bottom right, which when pressed, is supposed to open a “lite” version of the power menu. This doesn’t work at the moment, but that’s our conclusion of what it does based on code analysis.

Android 12 new notifications panel UI Android 12 DP3 new quick settings UI

The presence of a power button in the Quick Settings panel finally answers the question we had after using the leaked Android 12 build: How do you open the power menu if you enable the new “hold for Assistant” gesture? In that build, enabling the “hold for Assistant” gesture hijacks the power button so it instead launches the Google Assistant. However, you then had no way to access the power menu, which is why Google also added two new Quick Settings tiles for Device Controls and Wallet (both of which are shown in the power menu). With the new power button in the QS panel, you’ll always be able to access the power menu regardless of whether or not you use the “hold for Assistant” gesture. (Code for “Hold for Assistant”, by the way, is present in DP3 but the feature isn’t accessible by default.)

On larger screen devices like tablets, the UI is split into two panes: one containing the revamped Quick Settings design and the other the notifications. It’s nice to see Google make more tablet-friendly design changes. Notably, the company is also working on a dual-pane home screen for tablets as well as a size-adjusted lock screen (more on the latter below).

Android 12 DP3 Quick Settings UI for tablets

Credits: kdrag0n

Quick Settings Tiles for Alarm and Wallet

If you noticed in one of the screenshots posted above, there’s a tile that says “Google Pay” with “Ready” underneath it. That’s the “Wallet” Quick Setting tile I was talking about, and all it’ll do is launch the Quick Access Wallet feature to let you quickly change your default card for payments. We presume the reason it’s becoming accessible from a Quick Setting tile is in preparation for the upcoming “hold for Assistant” gesture.

Android 12 DP3 alarm and wallet quick setting tiles

Another feature that’s being turned into a Quick Setting tile is the upcoming Alarm indicator in the status bar. As you can see above, this tile simply displays when the next alarm will ring if one is set.

Game Mode adds Game Optimization settings

In the first Developer Preview of Android 12, we spotted work on a new gaming toolbar that floats onscreen with a button for capturing a screen recording and another button of unknown purpose. We later discovered this gaming toolbar is part of a broader “Game Dashboard” feature that Google is working on for its Pixel devices. Our first look at the Gaming Dashboard showed an incomplete UI with non-functional buttons and a YouTube live streaming shortcut.

Android 12 Developer Preview 3 continues work on the Gaming Dashboard by making the buttons functional and adding a new “Game Optimization” card. When tapped, the buttons add a new icon to the floating toolbar. These buttons let you take a screenshot, take a screen recording, show the current FPS, or toggle Do Not Disturb mode. The Game Optimization menu, meanwhile, lets you set the device’s performance mode in-game. You can choose from “Performance” to maximize frame rate, “Standard” for a balance of battery life and performance, and “Battery Saver” to lower the frame rate and reduce power consumption. It’s unclear how exactly these options affect the performance, frame rate, and battery life, but we’ll keep an eye out for the feature’s progression in future Android 12 releases.

Android 12 DP3 game dashboard Android 12 DP3 game optimization settings Android 12 DP3 floating gaming toolbar

While we weren’t able to get the FPS meter to work, developer kdrag0n shared with us a couple of screenshots that show the FPS changing in the starting screen of “Among Us.”

Android 12 FPS meter

Credits: kdrag0n

We’ve also confirmed that the Gaming Dashboard has an accompanying command-line interface accessed by running “cmd game” in shell. The CLI is rather barebones and only contains a single command to “downscale” the resolution to force an app to run at a specified scaling ratio. For example, downscaling the “DevCheck” app to a scaling ratio of 0.5 causes it to think my Pixel 3 XL’s display resolution is 1480 x 720 rather than 2960 x 1440. A change in resolution could force some games to choose lower-resolution textures and rendering settings, resulting in better performance and battery life. Running the “wm size” command in shell can also accomplish the same thing, but the new “cmd game” implementation works on a per-app basis rather than affecting the display UI for every app.

Credits: Mishaal Rahman

One-handed Lock Screen for tablets

We’ve mentioned before that Google is making a couple of welcome design changes for tablets. Now, we’ve learned about yet another Android 12 UI change that should make tablet owners happy: a one-handed friendly PIN/pattern lock screen. When enabled, the PIN/pattern view shifts to either the left or the right side rather than sitting in the middle. Obviously, most tablets aren’t meant to be held with one hand, but this change means you won’t have to struggle to keep the tablet held in both of your hands while you input your PIN or pattern.

Android 12 left-handed lock screen for tablets Android 12 right-handed lock screen for tablets

Better wallpaper-based theming for dark wallpapers

Android 12’s new wallpaper-based theming system will give the OS a fresh coat of paint for every new wallpaper that you apply. The colors are dynamically generated based on the current wallpaper, but as we’ve seen in previous releases, it’s still a work-in-progress. While the new theming system looks great when the system’s light mode is turned on, it looks less refined when the system dark mode is turned on. For example, setting a pure black wallpaper resulted in a deep purple theme being applied, which was quite the mismatch of colors. Now, however, setting a black wallpaper results in a dark gray theme being applied, which matches nicely with darker wallpaper colors.

Android 12 wallpaper-based theming Android 12 wallpaper-based theming

As a reminder, this wallpaper-based theming system, code-named “monet”, is still not enabled by default. Google is still tweaking the framework to have the custom colors apply to more parts of the UI, and we’ve also seen enhancements over time to the color-picking algorithm. It’s clear Google wants to get it right before the stable Android 12 release.

App Hibernation frees up space from unused apps

A surprisingly popular feature we uncovered last week also makes an appearance in Android 12 DP3: app hibernation. The feature will automatically revoke permissions, halt notifications, and delete temporary files if an app hasn’t been used for a few months. Those temporary files come from the app’s cache or compilation artifacts.

Android 12 DP3 hibernate apps Android 12 DP3 unused apps

Next Pixel Stand will have a fan?

While analyzing the latest SystemUI APK, we discovered that Google has updated its Pixel-specific wireless charging implementation to version 1.3. The new classes reference a “fan mode” with parameters like “currentRpm”, “maximumRpm”, and “minimumRpm.” The “fan mode” can be either “BUILT_IN” or “FIXED”. This, to me, sounds like Google is preparing to add support for a wireless charging accessory with a fan. If that’s the case, the only reason we can see that happening is that the wireless charger can transmit more power, ie. it’s faster. We don’t have any more evidence to go off of, though, so we’ll leave any further speculation off the table for now.

Miscellaneous Hidden Changes

  • New ripple effect for charging. Android 12 DP3 has hidden code for a ripple animation that plays when you plug in a charger. This was confirmed and activated by kdrag0n but it matches exactly what we found in the leaked build last week.
  • Custom clocks coming soon. kdrag0n tells us that the system now supports clock theming. Analog clocks can have their hour, minute, and second hands tints. We’re previously found evidence that Google is working on a Pixel-exclusive custom clock plugin for Android 12, and this latest finding just adds more credence to that claim.
  • “Material NEXT” naming returns. kdrag0n has found more references to the “Material NEXT” code-name in Android 12 DP3’s framework code, corroborating the name for Android’s next-gen UI changes that we previously uncovered.

That’s all the hidden changes we’ve found so far from digging into Android 12 Developer Preview 3. If I find more details, I’ll share them in this Twitter thread. kdrag0n is also keeping a running Twitter thread that you can follow for more discoveries.

Thanks to PNF Software for providing us a license to use JEB Decompiler, a professional-grade reverse engineering tool for Android applications.

The post Android 12 DP3 Analysis: Here are all the hidden features! appeared first on xda-developers.



from xda-developers https://ift.tt/2QlWXXb
via IFTTT

No comments:

Post a Comment