Skip to content

Manifest tags and Priorities

Sean Hoyt edited this page Jan 23, 2015 · 1 revision

Manifest Tags:

Manifest tags are going to be used for sorting within the app. Layers can be used for bug fixing, it can be used for translations, it can be used to add new resources, it can be used to make external code feel like it is part of of the internal system so there is a very large amount of uses for layers beyond just a theme engine.

Basics on Priorities:

Priorities work on a per resource basis so if 2 overlays change (in example) the color of a status bar, then the one with the better priorities wins to change the color of the bar, nothing else wins in the conflict except for that.

Now how this works is different then you probably think and it actually loads the highest number first and the lower number is your priority deal breaker.

The range for priorities is 1-255

255 - 240 master master overlays, these should be workarounds to get layers to work properly if they need extra support to allow theming things

240 - 200 should be used for master overlays These should be ROM developer tweaks, ROM specific things and bug fixes.

200 - 150 since overlays can be used for adding features or changing values in the system like adding ambient display to a stock build, changing nav bar sizes, changing a lot of system values, this should be for those types of changes if the user wants them.

150 - 100 should be for translations. This needs plenty of room especially because there is a good chance for errors and typos here especially in large things like system ui or framework.

100 - 60 this is where we should find themes and a themer should work, this is also a place where users could submit changes back to the themer to help improve or evolve the theme.

60 - 10 this should be where we want the user to be able to fine tune a theme so this should be used for simple things like a color choice for say the nav bar

Below 10, let's not play here and don't be a dick and put your priority here because you don't understand how priorities work and you don't want anyone overlaying your theme or changes. I think we might end up putting a filter here to reject anything with a number below 10 just in case of that.

Example of Priority's being used:

Say a developer creates a bug fix (or feature or even a translation) and gives it a high priority of 255 because he wants to load it first into the system, then say there is a typo, bad color, wrong spelled word or even something to change there then the next overlay can be used to fix that of say 244 but say that overlay has a typo or say bad translated word and a user puts up bug fix overlay, he would use 243 then and they would all layer on top of each other to create the final product that a user sees.