| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| Exposing a new resource: |
| To add a new entry, find the corresponding "staging-public-group" with the correct type for |
| your resource, and add a new entry to the BOTTOM of the list. This ensures that indexes |
| don't shift for previously added resources, and the new one will be appended to the end. |
| |
| To add R.attr.exampleAttrName: |
| <staging-public-group type="attr" first-id="0x1ff0000"> |
| <public name="previouslyAdded1"/> |
| <public name="previouslyAdded2"/> |
| <public name="exampleAttrName"/> |
| </staging-public-group> |
| |
| Deleting a resource: |
| If a resource is no longer supported/used, it can be marked removed by renaming the |
| resource with a `removed_` prefix. This preserves the indexes of other resources so as not |
| to break apps that have compiled with their integers previously. |
| |
| To remove R.attr.previouslyAdded2: |
| <staging-public-group type="attr" first-id="0x1ff0000"> |
| <public name="previouslyAdded1"/> |
| <public name="removed_previouslyAdded2"/> |
| <public name="exampleAttrName"/> |
| </staging-public-group> |
| |
| IMPORTANT: Deleting an entry is never allowed, even across branches or reverts. Please take |
| this into account before merging a change which edits this file. Small, isolated changes |
| which only add/remove resources is recommended to avoid reverts due to build/test failures. |
| |
| Renaming a resource: |
| This is generally fine and can be done to the entry directly, with no other changes. But |
| note that any apps/tooling that resolve against resource names rather than IDs may break |
| as a result. This is uncommon, but not rare. |
| |
| Finalizing a release's resources: |
| 1. $ANDROID_BUILD_TOP/frameworks/base/tools/aapt2/tools/finalize_res.py \ |
| $ANDROID_BUILD_TOP/frameworks/base/core/res/res/values/public-staging.xml \ |
| $ANDROID_BUILD_TOP/frameworks/base/core/res/res/values/public-final.xml |
| 2. Rename "NEXT" in the new public-staging.xml resources header to the next platform short |
| version code |
| |
| Finalizing a release's resources (manually; only for reference): |
| 1. Delete all "staging-public-group" blocks for the release with no entries inside them |
| 2. Rename the remaining "staging-public-group" blocks for that release to |
| "staging-public-group-final" |
| 3. Cut them out this file and place at the bottom of public-final.xml; also move the |
| "Resources added in version ? of the platform" header |
| 4. Copy-paste all of the non-"removed_" resources outside of the staging blocks into being |
| siblings alongside them |
| 5. Assign them final public IDs in the form of |
| <public type="attr" name="exampleAttrName" id="0x0101088a" /> |
| by finding the last ID for that type and incrementing the last 4 characters by 1 in |
| hexadecimal |
| 6. Back in this file, seed the next release's resources by adding "staging-public-group" |
| tags with their "first-id" value shifted by -0x00010000 from the lowest "first-id" |
| in the last used "staging-public-group-final" |
| |
| Example: |
| Starting public-staging.xml: |
| <!\- =============================================================== |
| Resources added in version ? of the platform |
| =============================================================== -\> |
| <eat-comment /> |
| |
| <staging-public-group type="attr" first-id="0x01ff0000"> |
| <public name="exampleAttr1"/> |
| <public name="removed_exampleAttr2"/> |
| <public name="exampleAttr3"/> |
| </staging-public-group> |
| |
| <staging-public-group type="id" first-id="0x01fe0000"> |
| </staging-public-group> |
| |
| Resulting public-final.xml: |
| <!\- =============================================================== |
| Resources added in version ? of the platform |
| =============================================================== -\> |
| <eat-comment /> |
| |
| <staging-public-group-final type="attr" first-id="0x01ff0000"> |
| <public name="exampleAttr1"/> |
| <public name="removed_exampleAttr2"/> |
| <public name="exampleAttr3"/> |
| </staging-public-group-final> |
| |
| <public type="id" name="exampleAttr1" id="0x0101088a"/> |
| <public type="id" name="exampleAttr3" id="0x0101088b"/> |
| |
| Resulting public-staging.xml: |
| <!\- =============================================================== |
| Resources added in version (? + 1) of the platform |
| =============================================================== -\> |
| <eat-comment /> |
| |
| <staging-public-group type="attr" first-id="0x01fd0000"> |
| </staging-public-group> |
| |
| <staging-public-group type="id" first-id="0x01fc0000"> |
| </staging-public-group> |
| --> |
| <resources> |
| |
| <!-- =============================================================== |
| Resources added in version U of the platform |
| |
| NOTE: After this version of the platform is forked, changes cannot be made to the root |
| branch's groups for that release. Only merge changes to the forked platform branch. |
| =============================================================== --> |
| <eat-comment/> |
| |
| <staging-public-group type="attr" first-id="0x01ce0000"> |
| </staging-public-group> |
| |
| <staging-public-group type="id" first-id="0x01cd0000"> |
| </staging-public-group> |
| |
| <staging-public-group type="style" first-id="0x01cc0000"> |
| </staging-public-group> |
| |
| <staging-public-group type="string" first-id="0x01cb0000"> |
| </staging-public-group> |
| |
| <staging-public-group type="dimen" first-id="0x01ca0000"> |
| </staging-public-group> |
| |
| <staging-public-group type="color" first-id="0x01c90000"> |
| </staging-public-group> |
| |
| <staging-public-group type="array" first-id="0x01c80000"> |
| </staging-public-group> |
| |
| <staging-public-group type="drawable" first-id="0x01c70000"> |
| </staging-public-group> |
| |
| <staging-public-group type="layout" first-id="0x01c60000"> |
| </staging-public-group> |
| |
| <staging-public-group type="anim" first-id="0x01c50000"> |
| </staging-public-group> |
| |
| <staging-public-group type="animator" first-id="0x01c40000"> |
| </staging-public-group> |
| |
| <staging-public-group type="interpolator" first-id="0x01c30000"> |
| </staging-public-group> |
| |
| <staging-public-group type="mipmap" first-id="0x01c20000"> |
| </staging-public-group> |
| |
| <staging-public-group type="integer" first-id="0x01c10000"> |
| </staging-public-group> |
| |
| <staging-public-group type="transition" first-id="0x01c00000"> |
| </staging-public-group> |
| |
| <staging-public-group type="raw" first-id="0x01bf0000"> |
| </staging-public-group> |
| |
| <staging-public-group type="bool" first-id="0x01be0000"> |
| </staging-public-group> |
| |
| <staging-public-group type="fraction" first-id="0x01bd0000"> |
| </staging-public-group> |
| |
| </resources> |