From 46ac7092dadef13a35a83df624f6a2f73a2add47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ryszard=20Wi=C5=9Bniewski?= Date: Fri, 2 Dec 2011 02:54:38 +0100 Subject: [PATCH] + ResScalarValue::encodeAsResXmlItemValue() --- .../java/brut/androlib/res/data/value/ResArrayValue.java | 2 +- .../java/brut/androlib/res/data/value/ResScalarValue.java | 4 ++++ .../java/brut/androlib/res/data/value/ResStringValue.java | 6 ++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/apktool-lib/src/main/java/brut/androlib/res/data/value/ResArrayValue.java b/apktool-lib/src/main/java/brut/androlib/res/data/value/ResArrayValue.java index b1bbe13b..294a9e2a 100644 --- a/apktool-lib/src/main/java/brut/androlib/res/data/value/ResArrayValue.java +++ b/apktool-lib/src/main/java/brut/androlib/res/data/value/ResArrayValue.java @@ -52,7 +52,7 @@ public class ResArrayValue extends ResBagValue implements ResValuesXmlSerializab serializer.attribute(null, "name", res.getResSpec().getName()); for (int i = 0; i < mItems.length; i++) { serializer.startTag(null, "item"); - serializer.text(mItems[i].encodeAsResXmlValue()); + serializer.text(mItems[i].encodeAsResXmlItemValue()); serializer.endTag(null, "item"); } serializer.endTag(null, type); diff --git a/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java b/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java index 84636fa3..72c3ae11 100644 --- a/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java +++ b/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java @@ -43,6 +43,10 @@ public abstract class ResScalarValue extends ResValue return encodeAsResXml(); } + public String encodeAsResXmlItemValue() throws AndrolibException { + return encodeAsResXmlValue(); + } + public String encodeAsResXmlValue() throws AndrolibException { if (mRawValue != null) { return mRawValue; diff --git a/apktool-lib/src/main/java/brut/androlib/res/data/value/ResStringValue.java b/apktool-lib/src/main/java/brut/androlib/res/data/value/ResStringValue.java index c356e70d..1216636b 100644 --- a/apktool-lib/src/main/java/brut/androlib/res/data/value/ResStringValue.java +++ b/apktool-lib/src/main/java/brut/androlib/res/data/value/ResStringValue.java @@ -40,6 +40,12 @@ public class ResStringValue extends ResScalarValue { return ResXmlEncoders.encodeAsResXmlAttr(mRawValue); } + @Override + public String encodeAsResXmlItemValue() { + return ResXmlEncoders.enumerateNonPositionalSubstitutions( + ResXmlEncoders.encodeAsXmlValue(mRawValue)); + } + @Override public String encodeAsResXmlValue() { return ResXmlEncoders.encodeAsXmlValue(mRawValue);