[Title] emulator-manager : add sort skin list
authorjihye kim <jihye1128.kim@samsung.com>
Fri, 7 Jun 2013 03:14:19 +0000 (12:14 +0900)
committerjihye kim <jihye1128.kim@samsung.com>
Fri, 7 Jun 2013 03:14:19 +0000 (12:14 +0900)
[Desc.] add sort skin list (sync with tizen_2.1)
[Issue] N/A

Change-Id: I844e3f130540a9302f29e7a9b871511cfe4a15ac
Signed-off-by: jihye kim <jihye1128.kim@samsung.com>
src/org/tizen/emulator/manager/platform/SkinList.java

index 9f12f09..b6707c4 100644 (file)
@@ -89,11 +89,54 @@ public class SkinList {
                                }
                                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;
        }
@@ -122,21 +165,13 @@ public class 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);
                                }
                        }
                }