From 4e9cfd41003cd20c3604deb99a77b0acfc7cf4eb Mon Sep 17 00:00:00 2001 From: REAndroid Date: Sun, 12 Mar 2023 12:11:47 -0400 Subject: [PATCH] [xml] encode unknown hex reference --- .../java/com/reandroid/apk/xmlencoder/EncodeMaterials.java | 4 ++++ .../com/reandroid/apk/xmlencoder/XMLValuesEncoderStyle.java | 1 + 2 files changed, 5 insertions(+) diff --git a/src/main/java/com/reandroid/apk/xmlencoder/EncodeMaterials.java b/src/main/java/com/reandroid/apk/xmlencoder/EncodeMaterials.java index f0eaf7a..ade89c8 100644 --- a/src/main/java/com/reandroid/apk/xmlencoder/EncodeMaterials.java +++ b/src/main/java/com/reandroid/apk/xmlencoder/EncodeMaterials.java @@ -79,6 +79,10 @@ } Matcher matcher = ValueDecoder.PATTERN_REFERENCE.matcher(refString); if(!matcher.find()){ + ValueDecoder.EncodeResult ref = ValueDecoder.encodeHexReference(refString); + if(ref!=null){ + return ref.value; + } throw new EncodeException( "Not proper reference string: '"+refString+"'"); } diff --git a/src/main/java/com/reandroid/apk/xmlencoder/XMLValuesEncoderStyle.java b/src/main/java/com/reandroid/apk/xmlencoder/XMLValuesEncoderStyle.java index bc29eca..ea75dfa 100644 --- a/src/main/java/com/reandroid/apk/xmlencoder/XMLValuesEncoderStyle.java +++ b/src/main/java/com/reandroid/apk/xmlencoder/XMLValuesEncoderStyle.java @@ -37,6 +37,7 @@ class XMLValuesEncoderStyle extends XMLValuesEncoderBag{ String name=child.getAttributeValue("name"); int id=decodeUnknownAttributeHex(name); if(id!=0){ + item.setName(id); String value = child.getTextContent(); if(ValueDecoder.isReference(value)){ item.setTypeAndData(ValueType.REFERENCE,