diff --git a/src/main/java/com/reandroid/lib/apk/ApkUtil.java b/src/main/java/com/reandroid/lib/apk/ApkUtil.java index 0f11bf2..c20b6e0 100644 --- a/src/main/java/com/reandroid/lib/apk/ApkUtil.java +++ b/src/main/java/com/reandroid/lib/apk/ApkUtil.java @@ -137,4 +137,7 @@ public class ApkUtil { public static final String NAME_data="data"; public static final String RES_DIR_NAME="res"; public static final String FILE_NAME_PUBLIC_XML ="public.xml"; + + public static final String TAG_STRING_ARRAY = "string-array"; + public static final String TAG_INTEGER_ARRAY = "integer-array"; } diff --git a/src/main/java/com/reandroid/lib/apk/xmldecoder/XMLArrayDecoder.java b/src/main/java/com/reandroid/lib/apk/xmldecoder/XMLArrayDecoder.java index f56e49f..7728842 100644 --- a/src/main/java/com/reandroid/lib/apk/xmldecoder/XMLArrayDecoder.java +++ b/src/main/java/com/reandroid/lib/apk/xmldecoder/XMLArrayDecoder.java @@ -15,13 +15,18 @@ */ package com.reandroid.lib.apk.xmldecoder; +import com.reandroid.lib.apk.ApkUtil; import com.reandroid.lib.arsc.decoder.ValueDecoder; import com.reandroid.lib.arsc.value.ResValueBag; import com.reandroid.lib.arsc.value.ResValueBagItem; +import com.reandroid.lib.arsc.value.ValueType; import com.reandroid.lib.common.EntryStore; import com.reandroid.xml.XMLElement; -class XMLArrayDecoder extends BagDecoder{ +import java.util.HashSet; +import java.util.Set; + + class XMLArrayDecoder extends BagDecoder{ public XMLArrayDecoder(EntryStore entryStore) { super(entryStore); } @@ -30,11 +35,19 @@ class XMLArrayDecoder extends BagDecoder{ public void decode(ResValueBag resValueBag, XMLElement parentElement) { ResValueBagItem[] bagItems = resValueBag.getBagItems(); EntryStore entryStore=getEntryStore(); + Set valueTypes = new HashSet<>(); for(int i=0;i