Thursday, July 6, 2017

Google is working on an Always On Ambient Display Mode for the Pixel

Feature image: Samsung’s Always-on Display Mode.

Ambient Display is one of the best features available on certain Android phones with OLED screens. This feature was originally brought to life with the introduction of Moto Display on the 2013 Moto X, but a version of it has since become incorporated into AOSP so any vendor can implement it if their device has the requisite hardware.

While AOSP’s Ambient Display has gotten a few nifty feature additions over the years such as lift-to-check and double-tap-to-check, there’s one feature that every Nexus and Pixel owners have been missing out on: an always-on display mode. This mode would allow users to see important information at a glance without having to ever touch their phone or wait for a notification to flash on screen.

Samsung first introduced the world to its own take of an always-on display mode with the Samsung Galaxy S7 line. After years of work, Samsung was able to reduce power consumption of all of its display-related components enough that it made an always-on OLED display a viable proposition. And now, it looks like Google may be testing this feature on its own Google Pixel line.

On a Google Pixel running the latest Android O Developer Preview 3, we decompiled the SystemUIGoogle.apk file and found evidence of a new tunable that points towards this fact:

<PreferenceScreen android:title="@string/tuner_doze" android:key="doze">
<com.android.systemui.tuner.TunerSwitch android:title="@string/tuner_doze_always_on" android:key="doze_always_on" sysui:defValue="false" />

Many of you may be unaware, but references to “doze” within Android’s source code is actually referring to Ambient Display and not Android Marshmallow and above’s battery-saving doze mode. It’s confusing, I know, but it’s the unfortunate result of Google’s engineers picking an internal name for a feature that differs from what the user-facing feature will be called. As another example, Android’s Screen Saver feature is still referred to as “dream” within AOSP.

Now that that’s cleared up, the tunable that is shown above from the string will be a toggle that enables “doze_always_on.” Since “doze” refers to Ambient Display, this clearly means that this toggle will enable an experimental “always on” state. We say it’s experimental because this toggle is located within tuner_prefs.xml which defines the features that are located within the hidden SystemUI Tuner.

Note: SystemUI Tuner can be accessed on many Android phones by pulling down the status bar and long-pressing on the settings cog icon. You will see a toast message that UI Tuner is activated.

On a current build of Android O Developer Preview 3, this feature is not yet accessible. I attempted to enable it by manually setting the sysui:defValue to “true” and recompiling the application, but I was unable to get my modified APK file to boot on the Pixel. Perhaps this was due to APKTool’s experimental Kotlin application recompiling support for which I had to compile a new jar file from source, or perhaps it was simply due to my own incompetence.

Maybe someone smarter than myself at modifying system applications can get it working, if it is in a working state in the first place. Still, the existence of this string pretty clearly points to the fact that Google is at least experimenting with an always on Ambient Display mode. For any fans of Ambient Display mode, myself included, this should be exciting news.

HostGator Web Hosting

0 comments:

Post a Comment