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

[Antivirus] Avast! Internet Security & Premier 2017 v17.5.23.03 Final Keys

Avast! 2017 The Most Trusted Security – 220 million people choose AVAST to keep them safe online – more than any security company. avast! is the most trusted name in the antivirus industry, actively protecting more than 220 million people around the world. We’ve been protecting devices and data for over 25 years, in over 40 languages, on every populated continent. What’s New? A whole new user interface of avast Fixed slow loading of UI UI now works on smaller resolutions e.g. 800×600 Browser addons cleaning now added to Smart Scan Localization is completed Much More… How to activate? Download & Install Avast Double click license file to insert it to avast Enjoy Screenshots Downloads Avast! Internet Security 2017 v17.5.23.03 Final + Keys.rar  |   Mirror Avast! Premier 2017 v17.5.23.03 Final + Keys.rar  |   Mirror

[ 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...

[ Phone Launch ] Galaxy Note 8 makes its debut in India

Just a few short weeks after its global unveil, Samsung is launching the Galaxy Note 8 in India. The Galaxy S8 series was very well-received in the country, and there's a healthy interest in the Galaxy Note line as well. As a reminder, the Galaxy Note 8 shares a similar design aesthetic as the Galaxy S8, with the phone sporting a slightly larger 6.3-inch Infinity Display with a resolution of 2960 x 1440. Samsung makes the best AMOLED panels, and the display on the Note 8 is incredible. The Note 8 is powered by the Exynos 8895 in India, and comes with 6GB of RAM, 64GB storage, microSD slot, IP68 dust and water resistance, Wi-Fi ac, Bluetooth 5.0, USB-C 3.1, iris scanner, and a 3300mAh battery with fast charging and wireless charging. A new feature to make its way to the Note 8 is dual cameras at the back. The phone has two 12MP cameras — a primary f/1.7 sensor that acts as a wide-angle lens augmented by an f/2.4 telephoto lens that offers 2x optical zoom. Both...