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 ff769545..bd585302 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 @@ -17,7 +17,10 @@ package brut.androlib.res.data.value; import brut.androlib.AndrolibException; +import brut.androlib.res.data.ResResource; import brut.androlib.res.xml.ResXmlEncoders; +import java.io.IOException; +import org.xmlpull.v1.XmlSerializer; /** * @author Ryszard Wiśniewski @@ -46,4 +49,19 @@ public class ResStringValue extends ResScalarValue { protected String encodeAsResXml() throws AndrolibException { throw new UnsupportedOperationException(); } + + @Override + protected void serializeExtraXmlAttrs(XmlSerializer serializer, + ResResource res) throws IOException { + int pos = 0; + int count = 0; + while((pos = mRawValue.indexOf('%', pos)) != -1) { + if (mRawValue.charAt(pos + 1) != '%') { + if (++count >= 2) { + serializer.attribute(null, "formatted", "false"); + return; + } + } + } + } }