Skip to main content

[New Features] Android Oreo Introduces Command Line Interface for Themes

https://www1-lw.xda-cdn.com/files/2017/05/Layer-Manager-810x298_c.jpg


With the launch of Android Oreo comes a lot of time spent searching for hidden goodies within the source code. In the past, the Android engineering team has talked about enabling theming in Android O. We knew that the second Developer Preview of Android O may have been a hint of Google supporting the Overlay Manager Service (OMS) and Runtime Resource Overlay (RRO), but now we know for certain it was. Android Oreo now, technically, supports both OMS/RRO theming and even provides an interface for enabling or disabling themes using the command line.

What are RRO and OMS?

RRO was developed internally by Sony for theme functionality on the Sony Xperia line. Developers who recognized its significance worked to extend its support to other ROMs, and with it came RRO theming across a multitude of devices- not just Sony devices. It ingeniously replaced resources at the app runtime, an ease of use unseen from other theming options at the time. This has evolved into OMS, which also was developed in-house by Sony. The famous Layers Manager used RRO theming originally, but OMS was later adapted into what is now known as Substratum and is the theming framework most familiar to users on our forums now. ROMs on our forums with OMS commits mean they support the standard theming engine of Substratum. “Legacy mode” within Substratum is using RRO theming.


Android Oreo Introduces Theme Commands

It seems Google now wishes to fully support this theme type in AOSP, possibly moving towards a full, system-supported theme manager. On the Android Gerrit, Google has made a number of changes in recent months (and with Android Oreo) which suggest moves to enable the theming engine system-wide. The changes are below, with links to their respective commits.
All of these changes signify a move by Google towards some form of system theming application to be included in the future. The permission listed above requires system privileges, and thus means that only a system application (or an application with root access) can invoke this permission. It’s interesting nonetheless, as it shows Google is finally working towards something.
So why only technically does Android Oreo support theming? Well, the simple answer is that while you can invoke the system method of installing themes, to do so would prove rather pointless. This is because, even though you can use the new command line interface to manage installed themes, you cannot actually install new themes without root access because the themes need to go into a directory that is restricted from user space. With root access you can simply enable a Substratum theme anyway, so there is no need to do it the new way. Google has not included a system application to theme the device, so until then there is no benefit whatsoever to trying to do it the newly included way.

The Command Line Theming Interface

The devs at XDA tested the command on a Google Pixel running the Android Oreo release. We decided to test some of the commands and firstly used

cmd overlays list

to view all pre-installed overlays. We noticed the existence of a “com.google.android.theme.pixel”, disabling it and instead enabling “android.auto_generated_rro__” by running the following commands.



As can be seen here, the standard overlay is disabled and the auto-generated one is enabled. Running our command to view our installed overlays again, we see the following output.


This results in a newly themed Android System settings application on our Google Pixel. Note that the above overlay list also includes themes installed using Substratum, and we were able to enable/disable these just as easily.



auto_generated_rro Theme

We also found another command when digging through the source. The command is as follows
 
cmd overlay dump --user 0
 
gives us the following output.
So as can be seen, Google has put a lot of work into the development of the theming engine and integrating it into AOSP source. It looks like if it were to be added system-wide, themes would be enabled within the System UI tuner. Google have also provided information for OEMs, so it’s possible that additional OEMs could enable theming support based on the AOSP version in the future on Android Oreo.
Overall, this is a very exciting development. Theming is one of the many parts that defines Android as a fully customizable operating system on your phone. In the future if it were enabled to work without root access, it would be a major step in the direction of user freedom. Of course, it might be locked away in System UI tuner for quite some time.


Install Android O Factory Images On Pixel, Pixel XL, Nexus 5X, Nexus 6P, Nexus Player, and Pixel C

 

 

Comments

Popular posts from this blog

[ How to ?? ] Root the Samsung Galaxy Note 8 Exynos Variant

We’re starting to see more and more people getting their hands on the new Samsung Galaxy Note 8, so for those of you looking for some help in rooting your device, XDA Recognized Developer  dr.ketan  has made a simple step-by-step guide for you. This guide will walk you through how to gain root access to the device using SuperSU . The developer also promises to provide an EFS backup tool so you can save the important data in this partition. Once your device is rooted, you open up the device to some interesting modifications such as flashing the popular audio mod called Viper4Android . Of course, there are already a ton of things you can do without root on Samsung devices such as blocking ads and disabling bloatware, but having root access is an added benefit nonetheless. Check out this guide in Galaxy Note 8 forum

[How to ??] Manually Change the Galaxy S8 Navigation Bar Color

The Samsung Galaxy S8 and Galaxy S8+ are the first flagship smartphones from Samsung that ditch their traditional capacitive buttons in favor of software navigation keys. Besides allowing us to customize the layout of the keys, we can also change the navigation bar color as well. However, the company removed this color wheel option in June’s OTA update, but thanks to an ADB command we can still manually change the Galaxy S8 navigation bar color. The guild below walks you through how to change the color via ADB through a PC, but you can also do it through a terminal emulator application on the phone provided you have root access. Tutorial – Change Galaxy S8 Navigation Bar Color Grab the USB drivers for the Galaxy S8/S8+ (Google provides a list of some  universal USB drivers here ). Download the  ADB binary  for your specific operating system ( Windows ,  Mac ,  Linux ). These will always be the latest version. Extract the ZIP file into any folder on your PC.

[ TechLeaks ] Korean media: Galaxy Note 8 to launch on August 26 in New York as report says

The Korea Herald and the news portal Naver said today purporting to reveal the release date of Samsung’s Next Big Thing. According to the Korea Herald , Samsung is planning to introduce the Galaxy Note 8 “in the third or fourth week of August.” Like the Note 7 before it, the new S Pen device will reportedly make its debut in New York. Citing an unnamed Samsung official, Naver ventures a specific date: August 26, give or take a couple of days. Samsung initially planned to launch the new Note at IFA in the first week of September, according to the Korea Herald . The impending arrival of rival devices from LG and especially Apple might have prompted Samsung to bring up the big release. For reference, the Note 7 was announced on August 2 last year. Reports that surfaced after the phone was recalled due to faulty batteries suggested Samsung rushed the device to market in order to outshine Apple. Almost every flagship release from Samsung from the last few years has been preced