}
skinList.add(s);
}
+ sortSkinList();
} else {
throw new IOException("This directory does not exist (" + dir.getPath() + ")");
}
}
+ private void sortSkinList() {
+ ArrayList<Skin> generalSkinList = new ArrayList<Skin>();
+ ArrayList<Skin> phoneSkinList = new ArrayList<Skin>();
+ Skin s;
+ // sort skin path name
+ for (int i = 0; i < skinList.size(); i++) {
+ s = skinList.get(i);
+ if (s.getType() == SKIN_TYPE.GENERAL) {
+ generalSkinList.add(s);
+ for (int j = generalSkinList.size() - 1; j > 0; j--) {
+ if (generalSkinList.get(j).getName().compareTo(generalSkinList.get(j-1).getName()) < 0) {
+ Skin t = generalSkinList.get(j-1);
+ generalSkinList.set(j-1, generalSkinList.get(j));
+ generalSkinList.set(j, t);
+ } else {
+ break;
+ }
+ }
+ } else {
+ phoneSkinList.add(s);
+ for (int j = phoneSkinList.size() - 1; j > 0; j--) {
+ if (phoneSkinList.get(j).getName().compareTo(phoneSkinList.get(j-1).getName()) < 0) {
+ Skin t = phoneSkinList.get(j-1);
+ phoneSkinList.set(j-1, phoneSkinList.get(j));
+ phoneSkinList.set(j, t);
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ skinList.clear();
+ for (Skin s1 : generalSkinList) {
+ //System.out.println(s1.getName());
+ skinList.add(s1);
+ }
+ for (Skin s2 : phoneSkinList) {
+ //System.out.println(s2.getName());
+ skinList.add(s2);
+ }
+ }
+
public ArrayList<Skin> getSkinList() {
return skinList;
}
private ArrayList<Skin> returnSkins = new ArrayList<Skin>();
public ArrayList<Skin> findSkinList(RESOLUTION resolution) {
- boolean isGeneral = false;
returnSkins.clear();
if (skinList != null) {
for (Skin skin : skinList) {
- if (skin.getType() == SKIN_TYPE.PHONE_SHAPE) {
- if (skin.getResolution().equals(resolution)) {
- returnSkins.add(skin);
- }
- } else {
- if (!isGeneral) {
- returnSkins.add(0, skin);
- isGeneral = true;
- } else {
- returnSkins.add(skin);
- }
+ if (skin.getType() == SKIN_TYPE.GENERAL) {
+ returnSkins.add(skin);
+ } else if (skin.getResolution().equals(resolution)) {
+ returnSkins.add(skin);
}
}
}