mirror of
https://github.com/revanced/ARSCLib.git
synced 2025-05-05 08:24:24 +02:00
rename StringPool
This commit is contained in:
parent
e2b0377c4f
commit
eb805b7979
@ -12,8 +12,8 @@ import java.util.*;
|
|||||||
|
|
||||||
class JsonStringPoolHelper<T extends StringItem> {
|
class JsonStringPoolHelper<T extends StringItem> {
|
||||||
|
|
||||||
private final BaseStringPool<T> stringPool;
|
private final StringPool<T> stringPool;
|
||||||
JsonStringPoolHelper(BaseStringPool<T> stringPool){
|
JsonStringPoolHelper(StringPool<T> stringPool){
|
||||||
this.stringPool=stringPool;
|
this.stringPool=stringPool;
|
||||||
}
|
}
|
||||||
void loadStyledStrings(JSONArray jsonArray) {
|
void loadStyledStrings(JSONArray jsonArray) {
|
||||||
|
@ -23,7 +23,7 @@ import com.reandroid.arsc.item.IntegerArray;
|
|||||||
import com.reandroid.arsc.item.IntegerItem;
|
import com.reandroid.arsc.item.IntegerItem;
|
||||||
import com.reandroid.arsc.item.ResXmlString;
|
import com.reandroid.arsc.item.ResXmlString;
|
||||||
|
|
||||||
public class ResXmlStringPool extends BaseStringPool<ResXmlString> {
|
public class ResXmlStringPool extends StringPool<ResXmlString> {
|
||||||
public ResXmlStringPool(boolean is_utf8) {
|
public ResXmlStringPool(boolean is_utf8) {
|
||||||
super(is_utf8);
|
super(is_utf8);
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ import com.reandroid.arsc.item.IntegerArray;
|
|||||||
import com.reandroid.arsc.item.IntegerItem;
|
import com.reandroid.arsc.item.IntegerItem;
|
||||||
import com.reandroid.arsc.item.SpecString;
|
import com.reandroid.arsc.item.SpecString;
|
||||||
|
|
||||||
public class SpecStringPool extends BaseStringPool<SpecString> {
|
public class SpecStringPool extends StringPool<SpecString> {
|
||||||
public SpecStringPool(boolean is_utf8){
|
public SpecStringPool(boolean is_utf8){
|
||||||
super(is_utf8);
|
super(is_utf8);
|
||||||
}
|
}
|
||||||
|
@ -31,13 +31,13 @@ package com.reandroid.arsc.pool;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
public abstract class BaseStringPool<T extends StringItem> extends Chunk<StringPoolHeader> implements BlockLoad, JSONConvert<JSONArray>, Comparator<String> {
|
public abstract class StringPool<T extends StringItem> extends Chunk<StringPoolHeader> implements BlockLoad, JSONConvert<JSONArray>, Comparator<String> {
|
||||||
private final StringArray<T> mArrayStrings;
|
private final StringArray<T> mArrayStrings;
|
||||||
private final StyleArray mArrayStyles;
|
private final StyleArray mArrayStyles;
|
||||||
|
|
||||||
private final Map<String, StringGroup<T>> mUniqueMap;
|
private final Map<String, StringGroup<T>> mUniqueMap;
|
||||||
|
|
||||||
BaseStringPool(boolean is_utf8){
|
StringPool(boolean is_utf8){
|
||||||
super(new StringPoolHeader(), 4);
|
super(new StringPoolHeader(), 4);
|
||||||
|
|
||||||
IntegerArray offsetStrings = new IntegerArray();
|
IntegerArray offsetStrings = new IntegerArray();
|
@ -23,24 +23,24 @@ import com.reandroid.arsc.item.IntegerArray;
|
|||||||
import com.reandroid.arsc.item.IntegerItem;
|
import com.reandroid.arsc.item.IntegerItem;
|
||||||
import com.reandroid.arsc.item.TypeString;
|
import com.reandroid.arsc.item.TypeString;
|
||||||
|
|
||||||
public class TypeStringPool extends BaseStringPool<TypeString> {
|
public class TypeStringPool extends StringPool<TypeString> {
|
||||||
private final IntegerItem mTypeIdOffset;
|
private final IntegerItem mTypeIdOffset;
|
||||||
public TypeStringPool(boolean is_utf8, IntegerItem typeIdOffset) {
|
public TypeStringPool(boolean is_utf8, IntegerItem typeIdOffset) {
|
||||||
super(is_utf8);
|
super(is_utf8);
|
||||||
this.mTypeIdOffset = typeIdOffset;
|
this.mTypeIdOffset = typeIdOffset;
|
||||||
}
|
}
|
||||||
public byte idOf(String typeName){
|
public int idOf(String typeName){
|
||||||
return idOf(getByName(typeName));
|
return idOf(getByName(typeName));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Resolves id of {@link TypeBlock}
|
* Resolves id of {@link TypeBlock}
|
||||||
* Not recommend to use unless unless you are sure of proper pool
|
* Not recommend to use unless unless you are sure of proper pool
|
||||||
**/
|
**/
|
||||||
public byte idOf(TypeString typeString){
|
public int idOf(TypeString typeString){
|
||||||
if(typeString==null){
|
if(typeString==null){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return (byte) (typeString.getIndex()+mTypeIdOffset.get()+1);
|
return (typeString.getIndex()+mTypeIdOffset.get()+1);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Searches string entry {@link TypeBlock}
|
* Searches string entry {@link TypeBlock}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user