From ebb2f6d623b99dc00e25ba178dcc4a21efa94a8f Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Mon, 27 Aug 2012 14:39:53 -0500 Subject: [PATCH] handle the correct use of ,,. Fixes FC with Contacts,Camera,T9Map with some APKs --- .../brut/androlib/res/data/value/ResArrayValue.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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 dab53988..595e286f 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 @@ -65,11 +65,15 @@ public class ResArrayValue extends ResBagValue implements ResValuesXmlSerializab return null; } String type = mItems[0].getType(); - if (!"string".equals(type) && !"integer".equals(type)) { - return null; - } for (int i = 1; i < mItems.length; i++) { - if (! type.equals(mItems[i].getType())) { + + if (mItems[i].encodeAsResXmlItemValue().startsWith("@string")) { + return "string"; + } else if (mItems[i].encodeAsResXmlItemValue().startsWith("@drawable")) { + return null; + } else if (!"string".equals(type) && !"integer".equals(type)) { + return null; + } else if (!type.equals(mItems[i].getType())) { return null; } }