mirror of
https://github.com/revanced/Apktool.git
synced 2025-01-05 17:45:52 +01:00
Marking items of enum and flags attrs as synthesized.
This commit is contained in:
parent
e9db0b3426
commit
916e872330
@ -18,6 +18,7 @@
|
||||
package brut.androlib.res.data.value;
|
||||
|
||||
import brut.androlib.AndrolibException;
|
||||
import brut.androlib.res.data.ResPackage;
|
||||
import brut.androlib.res.data.ResResource;
|
||||
import brut.util.Duo;
|
||||
import java.io.IOException;
|
||||
@ -66,8 +67,8 @@ public class ResAttr extends ResBagValue implements ResXmlSerializable {
|
||||
|
||||
|
||||
public static ResAttr factory(ResReferenceValue parent,
|
||||
Duo<Integer, ResScalarValue>[] items, ResValueFactory factory)
|
||||
throws AndrolibException {
|
||||
Duo<Integer, ResScalarValue>[] items, ResValueFactory factory,
|
||||
ResPackage pkg) throws AndrolibException {
|
||||
|
||||
int type = ((ResIntValue) items[0].m2).getValue();
|
||||
int scalarType = type & 0xffff;
|
||||
@ -96,8 +97,10 @@ public class ResAttr extends ResBagValue implements ResXmlSerializable {
|
||||
new Duo[items.length - i];
|
||||
int j = 0;
|
||||
for (; i < items.length; i++) {
|
||||
int resId = items[i].m1;
|
||||
pkg.addSynthesizedRes(resId);
|
||||
attrItems[j++] = new Duo<ResReferenceValue, ResIntValue>(
|
||||
factory.newReference(items[i].m1), (ResIntValue) items[i].m2);
|
||||
factory.newReference(resId), (ResIntValue) items[i].m2);
|
||||
}
|
||||
switch (type & 0xff0000) {
|
||||
case TYPE_ENUM:
|
||||
|
@ -77,7 +77,7 @@ public class ResValueFactory {
|
||||
}
|
||||
int key = items[0].m1;
|
||||
if (key == ResAttr.BAG_KEY_ATTR_TYPE) {
|
||||
return ResAttr.factory(parentVal, items, this);
|
||||
return ResAttr.factory(parentVal, items, this, mPackage);
|
||||
}
|
||||
if (key == ResArrayValue.BAG_KEY_ARRAY_START) {
|
||||
return new ResArrayValue(parentVal, items);
|
||||
|
Loading…
Reference in New Issue
Block a user