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,