mirror of
https://github.com/revanced/ARSCLib.git
synced 2025-05-01 14:44:27 +02:00
fix: encode unknown hex reference id
This commit is contained in:
parent
cf7befd92a
commit
3f7dc3bf9f
@ -99,8 +99,12 @@ class XMLValuesEncoderAttr extends XMLValuesEncoderBag{
|
|||||||
for(int i=0;i<count;i++){
|
for(int i=0;i<count;i++){
|
||||||
XMLElement child=element.getChildAt(i);
|
XMLElement child=element.getChildAt(i);
|
||||||
|
|
||||||
int resourceId=materials.resolveLocalResourceId("id",
|
String name = child.getAttributeValue("name");
|
||||||
child.getAttributeValue("name"));
|
int resourceId = decodeUnknownAttributeHex(name);
|
||||||
|
if(resourceId==0){
|
||||||
|
resourceId=materials.resolveLocalResourceId("id",
|
||||||
|
name);
|
||||||
|
}
|
||||||
|
|
||||||
ValueDecoder.EncodeResult encodeResult =
|
ValueDecoder.EncodeResult encodeResult =
|
||||||
ValueDecoder.encodeHexOrInt(child.getTextContent());
|
ValueDecoder.encodeHexOrInt(child.getTextContent());
|
||||||
@ -128,4 +132,14 @@ class XMLValuesEncoderAttr extends XMLValuesEncoderBag{
|
|||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
private int decodeUnknownAttributeHex(String name){
|
||||||
|
if(name.length()==0||name.charAt(0)!='@'){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
name=name.substring(1);
|
||||||
|
if(!ValueDecoder.isHex(name)){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return ValueDecoder.parseHex(name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user