summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/LauncherModel.java
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2011-05-03 16:18:34 -0700
committerWinson Chung <winsonc@google.com>2011-05-04 17:22:37 -0700
commit1ed747a4c07101793322c13a36dd547df4a3aa50 (patch)
tree2bf66dc2eb64cd5bf2637b5f23f98636dbcc5748 /src/com/android/launcher2/LauncherModel.java
parent3130ec86721d7e492b1954875a8e375eed235473 (diff)
downloadandroid_packages_apps_Trebuchet-1ed747a4c07101793322c13a36dd547df4a3aa50.tar.gz
android_packages_apps_Trebuchet-1ed747a4c07101793322c13a36dd547df4a3aa50.tar.bz2
android_packages_apps_Trebuchet-1ed747a4c07101793322c13a36dd547df4a3aa50.zip
Testing mixing shortcuts into widgets pane.
- Initial changes adding LRU cache to widget pane to speed up getting widget previews. Change-Id: If9ed479ba8f2fb321b3ff8c384ac5a9f87d4c689
Diffstat (limited to 'src/com/android/launcher2/LauncherModel.java')
-rw-r--r--src/com/android/launcher2/LauncherModel.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index a92e33e9d..72e0962aa 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -1706,6 +1706,26 @@ public class LauncherModel extends BroadcastReceiver {
return sCollator.compare(labelA, labelB);
}
};
+ public static class WidgetAndShortcutNameComparator implements Comparator<Object> {
+ private PackageManager mPackageManager;
+ private HashMap<Object, String> mLabelCache;
+ WidgetAndShortcutNameComparator(PackageManager pm) {
+ mPackageManager = pm;
+ mLabelCache = new HashMap<Object, String>();
+ }
+ public final int compare(Object a, Object b) {
+ String labelA, labelB;
+ if (mLabelCache.containsKey(a)) labelA = mLabelCache.get(a);
+ else labelA = (a instanceof AppWidgetProviderInfo) ?
+ ((AppWidgetProviderInfo) a).label :
+ ((ResolveInfo) a).loadLabel(mPackageManager).toString();
+ if (mLabelCache.containsKey(b)) labelB = mLabelCache.get(b);
+ else labelB = (b instanceof AppWidgetProviderInfo) ?
+ ((AppWidgetProviderInfo) b).label :
+ ((ResolveInfo) b).loadLabel(mPackageManager).toString();
+ return sCollator.compare(labelA, labelB);
+ }
+ };
public void dumpState() {
Log.d(TAG, "mCallbacks=" + mCallbacks);