diff --git a/src/main/java/com/reandroid/apk/xmlencoder/ValuesStringPoolBuilder.java b/src/main/java/com/reandroid/apk/xmlencoder/ValuesStringPoolBuilder.java index 330caa4..2297c63 100644 --- a/src/main/java/com/reandroid/apk/xmlencoder/ValuesStringPoolBuilder.java +++ b/src/main/java/com/reandroid/apk/xmlencoder/ValuesStringPoolBuilder.java @@ -15,6 +15,7 @@ */ package com.reandroid.apk.xmlencoder; +import com.reandroid.arsc.array.StringArray; import com.reandroid.arsc.array.StyleArray; import com.reandroid.arsc.decoder.ValueDecoder; import com.reandroid.arsc.item.StyleItem; @@ -49,9 +50,12 @@ import java.util.*; if(spannableList.size()==0){ return; } + StringArray stringsArray = stringPool.getStringsArray(); + StyleArray styleArray = stringPool.getStyleArray(); - Map stringsMap = stringPool - .insertStrings(XMLSpannable.toTextList(spannableList)); + int stylesCount = spannableList.size(); + stringsArray.setChildesCount(stylesCount); + styleArray.setChildesCount(stylesCount); List tagList = new ArrayList<>(XMLSpannable.tagList(spannableList)); @@ -59,21 +63,23 @@ import java.util.*; Map tagsMap = stringPool.insertStrings(tagList); - StyleArray styleArray = stringPool.getStyleArray(); - styleArray.setChildesCount(stringsMap.size()); + List textList = XMLSpannable.toTextList(spannableList); - for(XMLSpannable spannable:spannableList){ + for(int i=0;i buildSpannable(){ List results=new ArrayList<>(); Set removeList=new HashSet<>();