package jadx.core.xmlgen;
import jadx.core.utils.Utils;
import jadx.core.xmlgen.entry.ResourceEntry;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ResourceStorage {
private static final Comparator<ResourceEntry> COMPARATOR = new Comparator<ResourceEntry>() {
@Override
public int compare(ResourceEntry a, ResourceEntry b) {
return Utils.compare(a.getId(), b.getId());
}
};
private final List<ResourceEntry> list = new ArrayList<ResourceEntry>();
private String appPackage;
public Collection<ResourceEntry> getResources() {
return list;
}
public void add(ResourceEntry ri) {
list.add(ri);
}
public void finish() {
Collections.sort(list, COMPARATOR);
}
public ResourceEntry getByRef(int refId) {
ResourceEntry key = new ResourceEntry(refId);
int index = Collections.binarySearch(list, key, COMPARATOR);
if (index < 0) {
return null;
}
return list.get(index);
}
public String getAppPackage() {
return appPackage;
}
public void setAppPackage(String appPackage) {
this.appPackage = appPackage;
}
public Map<Integer, String> getResourcesNames() {
Map<Integer, String> map = new HashMap<Integer, String>();
for (ResourceEntry entry : list) {
map.put(entry.getId(), entry.getTypeName() + "/" + entry.getKeyName());
}
return map;
}
}