From f53971f09f48d4ed02b5e559343a62044d12f016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ryszard=20Wi=C5=9Bniewski?= Date: Sat, 14 May 2011 13:14:44 +0200 Subject: [PATCH] ResPluralsValue: don't encode values in constructor, but in serializeToResValuesXml(). This may speed up loading of frameworks. --- .../androlib/res/data/value/ResPluralsValue.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/apktool-lib/src/main/java/brut/androlib/res/data/value/ResPluralsValue.java b/apktool-lib/src/main/java/brut/androlib/res/data/value/ResPluralsValue.java index 049c3d91..b944ffc5 100644 --- a/apktool-lib/src/main/java/brut/androlib/res/data/value/ResPluralsValue.java +++ b/apktool-lib/src/main/java/brut/androlib/res/data/value/ResPluralsValue.java @@ -31,38 +31,33 @@ public class ResPluralsValue extends ResBagValue implements ResValuesXmlSerializ Duo[] items) { super(parent); - mItems = new String[6]; + mItems = new ResStringValue[6]; for (int i = 0; i < items.length; i++) { mItems[items[i].m1 - BAG_KEY_PLURALS_START] = - ((ResStringValue) items[i].m2).encodeAsResXmlValue(); + (ResStringValue) items[i].m2; } } - public ResPluralsValue(ResReferenceValue parent, String[] items) { - super(parent); - mItems = items; - } - @Override public void serializeToResValuesXml(XmlSerializer serializer, ResResource res) throws IOException, AndrolibException { serializer.startTag(null, "plurals"); serializer.attribute(null, "name", res.getResSpec().getName()); for (int i = 0; i < mItems.length; i++) { - String item = mItems[i]; + ResStringValue item = mItems[i]; if (item == null) { continue; } serializer.startTag(null, "item"); serializer.attribute(null, "quantity", QUANTITY_MAP[i]); - serializer.text(item); + serializer.text(item.encodeAsResXmlValue()); serializer.endTag(null, "item"); } serializer.endTag(null, "plurals"); } - private final String[] mItems; + private final ResStringValue[] mItems; public static final int BAG_KEY_PLURALS_START = 0x01000004;