Important information


[projekt.] substratum // masquerade {release} [stable:402]


welcome all current and prospective Layers themers!

Today, I have started this thread to get our project organized and officially recorded down on a publicly visible location, with all our changes and feature set to clarify what our project is about.

What is Substratum?
Substratum is an application, downloadable from the Play Store, that utilizes all of Sony's Overlay Manager Service (OMS), found on the official AOSP code review. This is similar to Layers in terms of stability and customization as it runs off an upgraded version of the Resource Runtime Overlay system, with the added benefit of running up-to-date Sony code on a customized ROM.

What is Masquerade?
Masquerade is, simply, a helper app, that gets prebuilt by Substratum supported ROMs, allowing Substratum to alleviate OMS tasks in the background without refreshing any assets. In technical terms, Masquerade is a service that loads OMS commands into the system directly, and while OMS itself refreshes resources and assets on runtime, it will refresh the caller's window, asking it to refresh resources and assets each time an overlay is loaded/unloaded from the system.

What about CMTE?
I would like to say here, that we aren't trying to compete with the CyanogenMod Theme Engine at all. Think of the Substratum project as a community-driven project where a chunk of the open-source community coming together to create something we wanted in the start.

We want to start from ground zero, without basing any code off of a huge chunk of code made by a corporation, but creating what we call "tweaks" as a built-in within our system (such as prebuilt accent choosing, theme customization based on user selection, infinite possibilities based on themers, etc.).

Substratum was built by and with themers in mind. OMS was created by Sony and is planned to be merged into the source, meaning that we are running what Android should be running, rather than completely modifying a framework from the base with many changes that can't be understood by the average ROM developer.

CMTE runs on the RRO2 system, which is the base of what Layers was running on. RRO2 is deprecated, and superseded by the OverlayManagerService (OMS) within Sony's code in the AOSP code review.

Final thing, instead of competing against CMTE, we sincerely thank them for providing CMTE as an open sourced project. We were able to filter out everything needed by understanding the Theme Engine completely from a low level standpoint.

Why is this better than Layers?
  • No longer require soft or hard reboots when applying themes
  • We can apply fonts without rebooting
  • We can apply System sounds from a theme, such as lock/unlock/effect_tick sounds, to make your unlock sounds match your theme
  • Does not use the vendor/overlays partition/folder anymore, to limit down possible security vulnerabilities and reflashing vendors constantly
  • Active and consistent development based on upstream Sony code, as well as team code. Relying on the old system meant bringing up legacy code to newer versions of Android, even when we know the RRO2 system is being superseded already.
How is this different from Layers?
  • Overlays are loaded at runtime (truly) when you launch an application. You may briefly see an original resources screen flicker when you open an app, and that is being worked on by the team. However, due to the nature of how OMS works, it truly brings runtime theming when you start applications, rather that bloating the system down trying to extend resources of applications you aren't currently using.
Would you like to contribute to the project?
If you would like to contribute to the project, you are free to do so by pushing commits directly to our Gerrit Code Server at Please do not push to our GitHub organizations directly as a pull request, as those will be ignored due to having all code run through a code reviewing system.

Download: ... substratum

Team Substratum Developers:
Nicholas Chum: App + Platform Developer
Mike Finnegan: Platform Developer
George Gian: Platform Developer
Cory Collins: Platform Developer

Team Substratum Themers:
Branden Manibusan
David Wilson
Jeremy Beck
Jimmy Setiawan

Team Substratum Contributors
Nathan Chancellor: Creating and maintaining the FAQ
Idan Shulman: Animated splashscreen
Mihir Mistry: Animated theme information drawables
Sajid Shaik: Substratum App Icons
Travis Hall: All of Substratum's App Intro drawables

Special thanks to:
Mårten Kongstad (Sony Mobile)
Zoran Jovanovic (Sony Mobile)
Alan Viverette (Google)
Clark Scheff (CyanogenMod)
Andy Mast (CyanogenMod)
Last edited by nicholaschum on Tue Oct 25, 2016 12:41 am, edited 1 time in total.

Development Devices: Huawei Nexus 6P (angler) [Frost 128gb], Xperia Z3 Compact Tablet (scorpion)
Development Station: Intel Core i7-3770 @ 3.9GHz, 2560x1440, 32GB RAM, 3TB HDD, 250GB SSD Boot, GTX 675MX

Post Reply

Return to “[projekt.]”

Who is online

Users browsing this forum: No registered users and 1 guest