summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2012-09-17 16:58:46 -0700
committerWinson Chung <winsonc@google.com>2012-09-17 16:59:21 -0700
commit1190487e15325e371c6c18181b1a5ef7ab2a79e6 (patch)
treedf4f815890a7639d38c4390780f850332728bfbf /src
parent804503c75a12e1578f2f71ff3cb32ae912fc9451 (diff)
downloadandroid_packages_apps_Trebuchet-1190487e15325e371c6c18181b1a5ef7ab2a79e6.tar.gz
android_packages_apps_Trebuchet-1190487e15325e371c6c18181b1a5ef7ab2a79e6.tar.bz2
android_packages_apps_Trebuchet-1190487e15325e371c6c18181b1a5ef7ab2a79e6.zip
Fixing issue where we were collating labels based on an old Locale. (Bug 7133873)
Change-Id: Ic1366f06020d1e405a6800386472a8832d683c5e
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher2/AppsCustomizePagedView.java4
-rw-r--r--src/com/android/launcher2/LauncherModel.java44
2 files changed, 28 insertions, 20 deletions
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index 48f56231b..bcc71dc44 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -1691,7 +1691,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
public void setApps(ArrayList<ApplicationInfo> list) {
mApps = list;
- Collections.sort(mApps, LauncherModel.APP_NAME_COMPARATOR);
+ Collections.sort(mApps, LauncherModel.getAppNameComparator());
updatePageCounts();
invalidateOnDataChange();
}
@@ -1700,7 +1700,7 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen
int count = list.size();
for (int i = 0; i < count; ++i) {
ApplicationInfo info = list.get(i);
- int index = Collections.binarySearch(mApps, info, LauncherModel.APP_NAME_COMPARATOR);
+ int index = Collections.binarySearch(mApps, info, LauncherModel.getAppNameComparator());
if (index < 0) {
mApps.add(-(index + 1), info);
}
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index 909cc795f..11beda8dd 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -2437,17 +2437,18 @@ public class LauncherModel extends BroadcastReceiver {
return folderInfo;
}
- private static final Collator sCollator = Collator.getInstance();
- public static final Comparator<ApplicationInfo> APP_NAME_COMPARATOR
- = new Comparator<ApplicationInfo>() {
- public final int compare(ApplicationInfo a, ApplicationInfo b) {
- int result = sCollator.compare(a.title.toString(), b.title.toString());
- if (result == 0) {
- result = a.componentName.compareTo(b.componentName);
+ public static final Comparator<ApplicationInfo> getAppNameComparator() {
+ final Collator collator = Collator.getInstance();
+ return new Comparator<ApplicationInfo>() {
+ public final int compare(ApplicationInfo a, ApplicationInfo b) {
+ int result = collator.compare(a.title.toString(), b.title.toString());
+ if (result == 0) {
+ result = a.componentName.compareTo(b.componentName);
+ }
+ return result;
}
- return result;
- }
- };
+ };
+ }
public static final Comparator<ApplicationInfo> APP_INSTALL_TIME_COMPARATOR
= new Comparator<ApplicationInfo>() {
public final int compare(ApplicationInfo a, ApplicationInfo b) {
@@ -2456,12 +2457,14 @@ public class LauncherModel extends BroadcastReceiver {
return 0;
}
};
- public static final Comparator<AppWidgetProviderInfo> WIDGET_NAME_COMPARATOR
- = new Comparator<AppWidgetProviderInfo>() {
- public final int compare(AppWidgetProviderInfo a, AppWidgetProviderInfo b) {
- return sCollator.compare(a.label.toString(), b.label.toString());
- }
- };
+ public static final Comparator<AppWidgetProviderInfo> getWidgetNameComparator() {
+ final Collator collator = Collator.getInstance();
+ return new Comparator<AppWidgetProviderInfo>() {
+ public final int compare(AppWidgetProviderInfo a, AppWidgetProviderInfo b) {
+ return collator.compare(a.label.toString(), b.label.toString());
+ }
+ };
+ }
static ComponentName getComponentNameFromResolveInfo(ResolveInfo info) {
if (info.activityInfo != null) {
return new ComponentName(info.activityInfo.packageName, info.activityInfo.name);
@@ -2470,15 +2473,18 @@ public class LauncherModel extends BroadcastReceiver {
}
}
public static class ShortcutNameComparator implements Comparator<ResolveInfo> {
+ private Collator mCollator;
private PackageManager mPackageManager;
private HashMap<Object, CharSequence> mLabelCache;
ShortcutNameComparator(PackageManager pm) {
mPackageManager = pm;
mLabelCache = new HashMap<Object, CharSequence>();
+ mCollator = Collator.getInstance();
}
ShortcutNameComparator(PackageManager pm, HashMap<Object, CharSequence> labelCache) {
mPackageManager = pm;
mLabelCache = labelCache;
+ mCollator = Collator.getInstance();
}
public final int compare(ResolveInfo a, ResolveInfo b) {
CharSequence labelA, labelB;
@@ -2498,15 +2504,17 @@ public class LauncherModel extends BroadcastReceiver {
mLabelCache.put(keyB, labelB);
}
- return sCollator.compare(labelA, labelB);
+ return mCollator.compare(labelA, labelB);
}
};
public static class WidgetAndShortcutNameComparator implements Comparator<Object> {
+ private Collator mCollator;
private PackageManager mPackageManager;
private HashMap<Object, String> mLabelCache;
WidgetAndShortcutNameComparator(PackageManager pm) {
mPackageManager = pm;
mLabelCache = new HashMap<Object, String>();
+ mCollator = Collator.getInstance();
}
public final int compare(Object a, Object b) {
String labelA, labelB;
@@ -2526,7 +2534,7 @@ public class LauncherModel extends BroadcastReceiver {
((ResolveInfo) b).loadLabel(mPackageManager).toString();
mLabelCache.put(b, labelB);
}
- return sCollator.compare(labelA, labelB);
+ return mCollator.compare(labelA, labelB);
}
};