[res] Finalize resources in SC-v2 RESTRICT AUTOMERGE am: e9e1d94c4a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16102685

Change-Id: Ie6cd8c3eecc0d8923aabe37447028072207803ca
This commit is contained in:
Yurii Zubrytskyi
2021-10-27 23:42:35 +00:00
committed by Automerger Merge Worker
3 changed files with 42 additions and 86 deletions

View File

@@ -1299,7 +1299,7 @@ package android {
field public static final int shortcutLongLabel = 16844074; // 0x101052a
field public static final int shortcutShortLabel = 16844073; // 0x1010529
field public static final int shouldDisableView = 16843246; // 0x10101ee
field public static final int shouldUseDefaultUnfoldTransition;
field public static final int shouldUseDefaultUnfoldTransition = 16844364; // 0x101064c
field public static final int showAsAction = 16843481; // 0x10102d9
field public static final int showDefault = 16843258; // 0x10101fa
field public static final int showDividers = 16843561; // 0x1010329
@@ -2015,9 +2015,9 @@ package android {
public static final class R.id {
ctor public R.id();
field public static final int accessibilityActionContextClick = 16908348; // 0x102003c
field public static final int accessibilityActionDragCancel;
field public static final int accessibilityActionDragDrop;
field public static final int accessibilityActionDragStart;
field public static final int accessibilityActionDragCancel = 16908375; // 0x1020057
field public static final int accessibilityActionDragDrop = 16908374; // 0x1020056
field public static final int accessibilityActionDragStart = 16908373; // 0x1020055
field public static final int accessibilityActionHideTooltip = 16908357; // 0x1020045
field public static final int accessibilityActionImeEnter = 16908372; // 0x1020054
field public static final int accessibilityActionMoveWindow = 16908354; // 0x1020042

View File

@@ -1235,7 +1235,6 @@
<public type="attr" name="author" id="0x010102b4" />
<public type="attr" name="autoStart" id="0x010102b5" />
<!-- ===============================================================
Resources added in version 8 of the platform (Eclair MR2).
=============================================================== -->
@@ -3202,89 +3201,23 @@
<!-- ===============================================================
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-final type="attr" first-id="0x01ff0000">
<public name="shouldUseDefaultUnfoldTransition" />
</staging-public-group>
</staging-public-group-final>
<staging-public-group type="id" first-id="0x01fe0000">
<public type="attr" name="shouldUseDefaultUnfoldTransition" id="0x0101064c" />
<staging-public-group-final type="id" first-id="0x01fe0000">
<public name="accessibilityActionDragStart" />
<public name="accessibilityActionDragDrop" />
<public name="accessibilityActionDragCancel" />
</staging-public-group>
</staging-public-group-final>
<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>
<!-- ===============================================================
DO NOT ADD UN-GROUPED ITEMS HERE
Any new items (attrs, styles, ids, etc.) *must* be added in a
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.
=============================================================== -->
<public type="id" name="accessibilityActionDragStart" id="0x01020055" />
<public type="id" name="accessibilityActionDragDrop" id="0x01020056" />
<public type="id" name="accessibilityActionDragCancel" id="0x01020057" />
</resources>

View File

@@ -17,6 +17,7 @@
"""
Finalize resource values in <staging-public-group> tags
and convert those to <staging-public-group-final>
Usage: finalize_res.py core/res/res/values/public.xml public_finalized.xml
"""
@@ -24,18 +25,40 @@ Usage: finalize_res.py core/res/res/values/public.xml public_finalized.xml
import re, sys, codecs
def finalize_item(raw):
global _type, _id
_id += 1
return '<public type="%s" name="%s" id="%s" />' % (_type, raw.group(1), '0x{0:0{1}x}'.format(_id-1,8))
global _type_ids, _type
id = _type_ids[_type]
_type_ids[_type] += 1
name = raw.group(1)
val = '<public type="%s" name="%s" id="%s" />' % (_type, name, '0x{0:0{1}x}'.format(id,8))
if re.match(r'_*removed.+', name):
val = '<!-- ' + val.replace('<public', '< public') + ' -->'
return val
def finalize_group(raw):
global _type, _id
global _type_ids, _type
_type = raw.group(1)
_id = int(raw.group(2), 16)
return re.sub(r'<public name="(.+?)" */>', finalize_item, raw.group(3))
id = int(raw.group(2), 16)
_type_ids[_type] = _type_ids.get(_type, id)
(res, count) = re.subn(r' {0,2}<public name="(.+?)" */>', finalize_item, raw.group(3))
if count > 0:
res = raw.group(0).replace("staging-public-group", "staging-public-group-final") + '\n' + res
return res
def collect_ids(raw):
global _type_ids
for m in re.finditer(r'<public type="(.+?)" name=".+?" id="(.+?)" />', raw):
type = m.group(1)
id = int(m.group(2), 16)
_type_ids[type] = max(id + 1, _type_ids.get(type, 0))
with open(sys.argv[1]) as f:
global _type_ids, _type
_type_ids = {}
raw = f.read()
collect_ids(raw)
raw = re.sub(r'<staging-public-group type="(.+?)" first-id="(.+?)">(.+?)</staging-public-group>', finalize_group, raw, flags=re.DOTALL)
raw = re.sub(r' *\n', '\n', raw)
raw = re.sub(r'\n{3,}', '\n\n', raw)
with open(sys.argv[2], "w") as f:
f.write(raw)