Home / Technology / Here are all the hidden changes in Android 11 that we learned from the source code

Here are all the hidden changes in Android 11 that we learned from the source code

Shortly after releasing the first stable build of Android 11 for its Pixel range of devices, Google began uploading the Android 11 source code to AOSP. We dug into the code to find hidden features that we may have missed in our previous coverage, and here’s what we found:

New volume flow for virtual assistants

Andriod 11 introduces a new stream type for virtual assistants: AUDIO_STREAM_ASSISTANT. The new flow is “Intended for use by a virtual assistant such as Google Assistant, Bixby, etc. The audio stream has its own volume alias and the volume does not change based on changes in the volume of other streams.”

Currently, virtual assistant apps typically send audio via the media volume stream, which is shared by other media apps. With the new streaming, Android 1

1 may soon allow users to set the volume of the virtual assistant independently.

Clock plugin in Android 11

In Android 10 we noticed the work on customizing the lock screen clock which provided 3 different options: default, text, speech bubble and analog. This feature would have been available in the Pixel Themes app (“Styles and Wallpapers”) as a separate tab called “Clock”, however, it didn’t make it to the final version of Android 10.

Although the feature is not yet available in the stable version of Android 11, Google has re-enabled the custom clock feature. But since Google removed the text clock in Android 10 and removed the analog and bubble clocks in Android 11, there are currently no other clock options available.

We suspect that Google has enabled the feature for OEMs only or that the company may be working on new custom watches to launch alongside the updated Pixel Themes app on the Pixel 5 and Pixel 4a 5G.

Blocking of cached apps

In Android 11 Beta 2, we have identified a new feature under development called “suspend execution for cached apps”. At the time, we learned that the feature resided in Developer Options, but we didn’t have enough information on how it worked or how to enable it.

From the source code, however, we can see that the function targets “Block apps when cached and unblock them when removed from cache or killed. Blocked apps will not use any CPU cycle, reducing power consumption for misbehaving processes that may attempt to run while they are cached. “

XDA recognized developer luca020400 says this feature needs updated cgroups (a feature of the Linux kernel), so it doesn’t work on current devices. It could be an OEM-facing feature or it could be implemented on Pixel 5.

Blur for the shadow of notifications

In Android 11 Developer Preview 3, we were able to enable a hidden switch to enable window blurs. However, at that time the switch was not working. XDA recognized developer luca020400 has now managed to get it to work.

He installed Android 11 GSI on his ASUS ZenFone 6 and enabled the feature by changing a system property. The feature enables a Kawase blur effect, which is an approximation of the Gaussian blur, behind the notification panel when it is pulled down.

Deep Press support for expanding notifications in Android 11

In the second Pixel Feature Drop, Google added “improved long press options” that allow you to press firmly on the screen in Pixel Launcher, Google Photos and Google Drive to show the context menu. It is an alternative way to access the context menu designed for people who may not be aware that they can access it by long pressing the screen.

The feature uses the Deep Press API which uses an ML model to infer when a user presses harder on the screen. In Android 11, you can now deeply press the notifications in the notification panel to expand them.

What is Gabeldorsche?

The Android 11 Developer Options has a switch called “Enable Gabeldorsche” with the description “enable Gabeldorsche Bluetooth feature stack”. Google has finally released Gabeldorsche documentation and it appears to be a complete rewrite of Android’s Bluetooth stack. Hopefully, the rewrite will result in lower latency and more stability. If you are interested in learning more, you can view the Gabeldorsche Bluetooth stack architecture and style guide right away.

What is Advanced Connectivity?

Android 11 Developer Preview 2 added another mysterious developer option called “advanced connectivity” without any description of what it does. Thanks to the source code, we have now learned that the feature “will allow the connectivity thermal energy manager to actively disable 5G to save energy when cellular throughput is below the set threshold.”

Multi audio focus

In May, we covered a root app called App Volume Control which allows you to control individual volume levels of Android apps. This is necessary because Android doesn’t have a native volume mixer like Windows, so you can’t mix volume levels for multiple apps playing audio at the same time. Android has the concept of “audio focus” and only one app at a time can have focus.

The audio-focused app decides what happens to other apps that play audio: lower it (lower the volume) or pause it. This means that users cannot control whether or not their favorite music app always plays in any app they have open, if that app takes the audio focus off and chooses to pause playback. In Android 11, it appears that Google is working on a multi-audio focus feature, which will allow apps to play audio simultaneously without interruption or lower each other.

Faster sharing sheet

In addition to the improvements made in Android 10, Google has made some improvements to the share sheet in Android 11. For example, the loading of icons is now cached, which means that they appear faster. Scrolling jankiness has also been reduced by caching the itemViewType in the ViewHolder, caching the result of shouldDisplayLandscape to reduce the number of IPC calls while scrolling, and caching the user handle of the work profile.

Better memory management

Google has introduced a new OOM Adjuster design (OOM = out-of-memory, which is what the system should do when the amount of free memory is almost exhausted). There are 3 factors for OOM Adjuster changes: Process status (determines if a process is in the foreground of the background), OOM Adj score (used by the low memory killer daemon or lmkd, to determine which process should be stopped when memory is low) and the Scheduler Group (which changes the CPU process group and thread priorities).

The system server adjusts these 3 factors for 4 types of different Android processes: activity, service, content provider and broadcast receiver. OOM Adjuster is designed to avoid killing a process if “It would result [in a] service interruption perceptible by the user. “

Android 11 Go Edition improvements

Low-RAM devices (read: Android Go Edition) can now support multiple users, managed profiles, and notification listeners. For multiple users and managed profiles, Google only removed runtime restrictions that prevented it from working on low-RAM devices, so OEMs will still need to make some configuration changes to get them to work. However, notification listeners (apps that have been granted permission to intercept notifications, such as Pushbullet) should work without input from OEMs.

WCG wallpaper holder

10-bit (wide color) images can now be set as wallpapers in Android 11. Previously, applying such wallpapers would always convert them to sRGB. A bug in the conversion process is what interestingly caused the infamous cursed wallpaper crashes earlier this year.

Customizing the volume keys

It appears that Google is working on an API to detect single press, double tap, or triple tap of the volume keys. We discovered two commits titled “volume key customization support” and “single / double / triple click customization support”, which suggest that the feature could be introduced in Android 11. To enable long / single / double / feature triple key presses will be differentiated based on the time period between KeyEvents.

Apps using an accessibility service, such as flar2’s ButtonMapper app, can already intercept KeyEvent for volume button presses and use their own logic to determine what kind of press the user performed. It appears that Google is now writing native support for such customizations, but we’re not sure if it will be used to power a feature on Pixel devices or if it was only written with OEMs in mind. There is no evidence to suggest that the feature will be used to change songs and may only be used for security-related functions, such as detecting when a triple tap of the volume down key is performed to send an SOS. Interestingly, Android already has a hidden API for detecting long presses of the volume keys.

Automatic unlocking of the work profile from Digital Wellbeing

In Digital Wellbeing 1.0.327635162, we have identified strings for a new work scheduling feature that will automatically disable the work profile when the scheduled time is reached. In Android 11, Digital Wellbeing can now automatically unlock the work profile, paving the way for this feature to arrive.

If you’d like to learn more about all the changes introduced in Android 11, check out our posts on the first stable release of Android 11 and developer-focused changes. To install the latest update on your device, you can check our Android 11 update trackers linked below.

Android 11 update tracker || Xiaomi Android 11 Tracker || OnePlus Android 11 Tracker

Source link