From a85eff1aefa00dbf8368022b16ec159f0b520184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ryszard=20Wi=C5=9Bniewski?= Date: Mon, 14 Jun 2010 09:17:44 +0200 Subject: [PATCH] ARSCDecoder: decode strings with their stylings. --- src/brut/androlib/res/data/value/ResScalarValue.java | 7 ++++++- src/brut/androlib/res/data/value/ResStringValue.java | 5 +---- src/brut/androlib/res/decoder/ARSCDecoder.java | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/brut/androlib/res/data/value/ResScalarValue.java b/src/brut/androlib/res/data/value/ResScalarValue.java index f04d5645..cb0de2a7 100644 --- a/src/brut/androlib/res/data/value/ResScalarValue.java +++ b/src/brut/androlib/res/data/value/ResScalarValue.java @@ -46,7 +46,12 @@ public abstract class ResScalarValue extends ResValue serializer.attribute(null, "type", type); } serializer.attribute(null, "name", res.getResSpec().getName()); - serializer.text(toResXmlFormat()); + + String body = toResXmlFormat(); + if (! body.isEmpty()) { + serializer.ignorableWhitespace(body); + } + serializer.endTag(null, tagName); } diff --git a/src/brut/androlib/res/data/value/ResStringValue.java b/src/brut/androlib/res/data/value/ResStringValue.java index 0a86a4d8..3ac6a25d 100644 --- a/src/brut/androlib/res/data/value/ResStringValue.java +++ b/src/brut/androlib/res/data/value/ResStringValue.java @@ -41,9 +41,6 @@ public class ResStringValue extends ResScalarValue @Override public String toResXmlFormat() { - if (mValue.isEmpty()) { - return mValue; - } - return AndrolibResources.escapeForResXml(mValue); + return mValue; } } diff --git a/src/brut/androlib/res/decoder/ARSCDecoder.java b/src/brut/androlib/res/decoder/ARSCDecoder.java index bfb0baa9..d6b8633f 100644 --- a/src/brut/androlib/res/decoder/ARSCDecoder.java +++ b/src/brut/androlib/res/decoder/ARSCDecoder.java @@ -208,7 +208,7 @@ public class ARSCDecoder { int data = mIn.readInt(); return type == TypedValue.TYPE_STRING ? - mPkg.getValueFactory().factory(mTableStrings.getString(data)) : + mPkg.getValueFactory().factory(mTableStrings.getHTML(data)) : mPkg.getValueFactory().factory(type, data); }