Saturday, April 20, 2024

Waiting for the dawn of a new Android theming era

Share

pixel-s8-settings-dark-theme-light-theme

Theming on Android doesn’t require rooting, but theming Android itself almost always does.

We can use third-party launchers to theme our home screens. We can theme our most-used apps to get rid of that searing white and spice things up with some color. We can do so many things to customize Android and make it our own, but theming the Android system itself requires one of two things: a phone with a robust theming engine like the Samsung Galaxy S8 or root.

Theming Android at the system level is intoxicating, but most people don’t have the patience, practice, or prowess to invest in root theming. Even I don’t bother with the hassle of root theming, and I’m a girl who will spend hours dialing in custom icons and widget colors on her home screen. System theming isn’t worth root tinkering, but soon, root might not be required to theme Android.

Here’s why we think there’s a light at the end of this long, custom-skinned tunnel.

The RRO Framework: Thanks, Sony

xhangouts-exposed-aotw_0.jpg?itok=ZXSyeW

The groundwork for native theming on Android began years ago. Sony contributed the Runtime Resource Overlay framework to AOSP back in 2014 and implemented it on many of its devices to allow users to theme the Android system and apps on its Sony phones via Xperia Themes. RRO allows you to skin Android apps without modifying their source code, enabling users to change the way all apps on their phones looked without going to much trouble or breaking apps on their phones.

RRO was first discovered as developers dug through the Android M Developer Preview. You may remember Android M as the first year that Google taunted us with a dark theme during the Developer Preview, then pulled it before the stable release, and that had to do with Android testing out the RRO Theme Engine it had incorporated. The next year, the dark theme returned with the Android N Developer Preview, and again, it was pulled before Android Nougat pushed to stable in the fall.

night-mode-hero-5x.jpg?itok=M9D6f0dh Why do you tease me so, dark theme?

This year, we got the Android O Developer Preview, but we did not get our experimental dark theme back. Instead, as developers went digging for easter eggs and other hidden goodies, they stumbled on the first instances of RRO themes being used by the Android system.

So what changed this year?

In the earlier Android O Developer Previews, there was a setting under Display called Device Theme, where you could choose between Pixel and Inverted themes, with Inverted being the default. The problem was, as with previous years’ theme settings, this was very limited in scope, only changing the Quick Settings shade from Inverted’s brain matter gray back to a darker tone. And, as with previous years, the Device Theme setting has been pulled from the Android O Developer Preview 4.

o-themes.jpg?itok=hc6Epwt8

Googlers have been testing and pulling these dark themes based on the RRO Theme Engine for years via the Developer Previews and Beta program, but this May, developers, bloggers, and theming nerds all started getting their hopes up again. That’s because this year, enterprising code-diggers found that those two themes were indeed RRO themes, proving that Google hasn’t given up the ghost on system-wide themes on its version of Android. The now-pulled Device Theme setting was the interface that allowed users to tap into the RRO Theme Engine and select a (mostly useless) theme, and it was a means to use an RRO theme without root, and it was the last major technical piece of the puzzle.

What we’re still missing

samsung-theme-store-hero-themes.jpg?itok

Even if Google was to put this setting back with the final release of Android O, we’d still be missing a few things, as Google’s Engineering Team outlined in a reddit AMA. Google Play lacks a proper theme store, but even more importantly, Android is still missing proper APIs to ensure theming is consistent across devices and apps. Without those APIs, there’s no real way to make sure that what the RRO themes are doing isn’t breaking apps left and right. Even for Google’s own dark theme in Developer Previews they ran into trouble theming Android’s core apps, and Google has to achieve consistency across millions of apps on thousands of different device models.

inverted-android-o-quick-settings.jpg?it

I’m gonna beg for a dark theme until Google gives it back to me, especially in apps like Google Play Music, but at the same time, I accept how hard it is to theme things consistently when Android is so customizable and diverse as it is. It’s one thing to hit the Invert button and turn white to black, but you can’t do that with hot pink or pumpkin orange or Twitter blue, and until Google gets the kinks worked out, it’s better to have a working, boring system theme than a sea of RRO themes can could make your favorite apps unusable.

For now, we just have to accept that there’s a robust theme engine just sitting under the hood of Android… and no one can seem to steal the keys to it.

Read more

More News