Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5531d5d3 authored by Ryan Mitchell's avatar Ryan Mitchell
Browse files

Add <staging-public-group> tags to T

To prevent apps from having to respin atomically with SDK finalization,
<staging-public-group> must be created with type ids that do not
overlap the public resource id namespace.

For SV2, start allocating type ids at 0xff and decrement to get
additional type ids. For T, start allocating type ids at 0xdf. The type ids
for an API level do not have to be next to each other, but to make
potentially adding new types to SV2 easy, this change leaves a gap of
14 type ids between the end of the SV2 staged type ids and the
beginning of the T staged type ids.

Continuing this pattern will allow for approximately 7 releases before
new <staging-public-group> tags need to start over at 0xff.

Bug: 188463919
Test: builds
Change-Id: Ia7835d04d988127d061d3a454b8391294346a915
parent 6686e327
Loading
Loading
Loading
Loading
+142 −14
Original line number Diff line number Diff line
@@ -3243,31 +3243,159 @@
    <!-- id definitions go here -->
  </staging-public-group>

  <!-- ===============================================================
    Resources added in version S-V2 of the platform

    NOTE: add <public> elements within a <staging-public-group> like so:

    <staging-public-group type="attr" first-id="0x01ff0000">
        <public name="exampleAttr1" />
        <public name="exampleAttr2" />
    </staging-public-group>

    To add a new <staging-public-group> block, find the id value for the
    last <staging-public-group> block defined for thie API level, and
    subtract 0x00010000 from it to get to the id of the new block.

    For example, if the block closest to the end of this file has an id
    of 0x01ee0000, the id of the new block should be 0x01ed0000
    (0x01ee0000 - 0x00010000 = 0x01ed0000).
    =============================================================== -->
  <eat-comment />

  <staging-public-group type="attr" first-id="0x01ff0000">
  </staging-public-group>

  <staging-public-group type="id" first-id="0x01fe0000">
  </staging-public-group>

  <staging-public-group type="style" first-id="0x01fd0000">
  </staging-public-group>

  <staging-public-group type="string" first-id="0x01fc0000">
  </staging-public-group>

  <staging-public-group type="dimen" first-id="0x01fb0000">
  </staging-public-group>

  <staging-public-group type="color" first-id="0x01fa0000">
  </staging-public-group>

  <staging-public-group type="array" first-id="0x01f90000">
  </staging-public-group>

  <staging-public-group type="drawable" first-id="0x01f80000">
  </staging-public-group>

  <staging-public-group type="layout" first-id="0x01f70000">
  </staging-public-group>

  <staging-public-group type="anim" first-id="0x01f60000">
  </staging-public-group>

  <staging-public-group type="animator" first-id="0x01f50000">
  </staging-public-group>

  <staging-public-group type="interpolator" first-id="0x01f40000">
  </staging-public-group>

  <staging-public-group type="mipmap" first-id="0x01f30000">
  </staging-public-group>

  <staging-public-group type="integer" first-id="0x01f20000">
  </staging-public-group>

  <staging-public-group type="transition" first-id="0x01f10000">
  </staging-public-group>

  <staging-public-group type="raw" first-id="0x01f00000">
  </staging-public-group>

  <staging-public-group type="bool" first-id="0x01ef0000">
  </staging-public-group>

  <staging-public-group type="fraction" first-id="0x01ee0000">
  </staging-public-group>

  <!-- ===============================================================
    Resources added in version T of the platform

   NOTE: add <public> elements within a <public-group> like so:
    NOTE: add <public> elements within a <staging-public-group> like so:

   <public-group type="attr" first-id="0x01010531">
    <staging-public-group type="attr" first-id="0x01ff0000">
        <public name="exampleAttr1" />
        <public name="exampleAttr2" />
   </public-group>
    </staging-public-group>

   To add a new public-group block, choose an id value that is 1 greater
   than the last of that item above. For example, the last "attr" id
   value above is 0x01010530, so the public-group of attrs below has
   the id value of 0x01010531.
    To add a new <staging-public-group> block, find the id value for the
    last <staging-public-group> block defined for thie API level, and
    subtract 0x00010000 from it to get to the id of the new block.

    For example, if the block closest to the end of this file has an id
    of 0x01ee0000, the id of the new block should be 0x01ed0000
    (0x01ee0000 - 0x00010000 = 0x01ed0000).
    =============================================================== -->
  <eat-comment />

  <public-group type="attr" first-id="0x01010640">
  </public-group>
  <staging-public-group type="attr" first-id="0x01df0000">
  </staging-public-group>

  <staging-public-group type="id" first-id="0x01de0000">
  </staging-public-group>

  <staging-public-group type="style" first-id="0x0dfd0000">
  </staging-public-group>

  <staging-public-group type="string" first-id="0x0dfc0000">
  </staging-public-group>

  <staging-public-group type="dimen" first-id="0x01db0000">
  </staging-public-group>

  <staging-public-group type="color" first-id="0x01da0000">
  </staging-public-group>

  <staging-public-group type="array" first-id="0x01d90000">
  </staging-public-group>

  <staging-public-group type="drawable" first-id="0x01d80000">
  </staging-public-group>

  <staging-public-group type="layout" first-id="0x01d70000">
  </staging-public-group>

  <staging-public-group type="anim" first-id="0x01d60000">
  </staging-public-group>

  <staging-public-group type="animator" first-id="0x01d50000">
  </staging-public-group>

  <staging-public-group type="interpolator" first-id="0x01d40000">
  </staging-public-group>

  <staging-public-group type="mipmap" first-id="0x01d30000">
  </staging-public-group>

  <staging-public-group type="integer" first-id="0x01d20000">
  </staging-public-group>

  <staging-public-group type="transition" first-id="0x01d10000">
  </staging-public-group>

  <staging-public-group type="raw" first-id="0x01d00000">
  </staging-public-group>

  <staging-public-group type="bool" first-id="0x01cf0000">
  </staging-public-group>

  <staging-public-group type="fraction" first-id="0x01ce0000">
  </staging-public-group>

  <!-- ===============================================================
       DO NOT ADD UN-GROUPED ITEMS HERE

       Any new items (attrs, styles, ids, etc.) *must* be added in a
       public-group block, as the preceding comment explains.
       staging-public-group block, as the preceding comment explains.
       Items added outside of a group may have their value recalculated
       every time something new is added to this file.
       =============================================================== -->