OmniGears: order header pack names

same ordering as in the browse activity

Change-Id: I5ebab981667075b52464551d2f9a71a1bc6ce987
diff --git a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
index 565d643..3c0cf84 100644
--- a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
@@ -55,6 +55,9 @@
 
 import java.util.List;
 import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Collections;
 
 import org.omnirom.omnigears.preference.SystemCheckBoxPreference;
 import org.omnirom.omnigears.preference.SeekBarPreference;
@@ -182,37 +185,41 @@
     }
 
     private void getAvailableHeaderPacks(List<String> entries, List<String> values) {
+        String defaultLabel = null;
+        Map<String, String> headerMap = new HashMap<String, String>();
         Intent i = new Intent();
         PackageManager packageManager = getPackageManager();
         i.setAction("org.omnirom.DaylightHeaderPack");
         for (ResolveInfo r : packageManager.queryIntentActivities(i, 0)) {
             String packageName = r.activityInfo.packageName;
-            if (packageName.equals(DEFAULT_HEADER_PACKAGE)) {
-                values.add(0, packageName);
-            } else {
-                values.add(packageName);
-            }
             String label = r.activityInfo.loadLabel(getPackageManager()).toString();
             if (label == null) {
                 label = r.activityInfo.packageName;
             }
             if (packageName.equals(DEFAULT_HEADER_PACKAGE)) {
-                entries.add(0, label);
+                defaultLabel = label;
             } else {
-                entries.add(label);
+                headerMap.put(label, packageName);
             }
         }
         i.setAction("org.omnirom.DaylightHeaderPack1");
         for (ResolveInfo r : packageManager.queryIntentActivities(i, 0)) {
             String packageName = r.activityInfo.packageName;
-            values.add(packageName  + "/" + r.activityInfo.name);
-
             String label = r.activityInfo.loadLabel(getPackageManager()).toString();
             if (label == null) {
                 label = packageName;
             }
-            entries.add(label);
+            headerMap.put(label, packageName  + "/" + r.activityInfo.name);
         }
+        List<String> labelList = new ArrayList<String>();
+        labelList.addAll(headerMap.keySet());
+        Collections.sort(labelList);
+        for (String label : labelList) {
+            entries.add(label);
+            values.add(headerMap.get(label));
+        }
+        entries.add(0, defaultLabel);
+        values.add(0, DEFAULT_HEADER_PACKAGE);
     }
 
     private boolean isBrowseHeaderAvailable() {