From 6ce6d76484f43307cf742f4df9e62bdedd92b941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ryszard=20Wi=C5=9Bniewski?= Date: Fri, 2 Apr 2010 14:56:51 +0200 Subject: [PATCH] ResBagValue.serializeToXml(): serializing as style, array or plurals value depending on type of ResResource. --- .../androlib/res/data/value/ResBagValue.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/brut/androlib/res/data/value/ResBagValue.java b/src/brut/androlib/res/data/value/ResBagValue.java index 26275633..b9f2e61d 100644 --- a/src/brut/androlib/res/data/value/ResBagValue.java +++ b/src/brut/androlib/res/data/value/ResBagValue.java @@ -19,8 +19,8 @@ package brut.androlib.res.data.value; import brut.androlib.AndrolibException; import brut.androlib.res.data.ResResource; +import brut.util.Duo; import java.io.IOException; -import java.util.Map; import org.xmlpull.v1.XmlSerializer; /** @@ -35,9 +35,25 @@ public class ResBagValue extends ResValue implements ResXmlSerializable { public void serializeToXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { + String type = res.getResSpec().getType().getName(); + if ("style".equals(type)) { + new ResStyleValue(mParent, new Duo[0], null) + .serializeToXml(serializer, res); + return; + } + if ("array".equals(type)) { + new ResArrayValue(mParent, new Duo[0]) + .serializeToXml(serializer, res); + return; + } + if ("plurals".equals(type)) { + new ResPluralsValue(mParent, new Duo[0]) + .serializeToXml(serializer, res); + return; + } + serializer.startTag(null, "item"); - serializer.attribute(null, "type", - res.getResSpec().getType().getName()); + serializer.attribute(null, "type", type); serializer.attribute(null, "name", res.getResSpec().getName()); serializer.endTag(null, "item"); }