diff options
author | Winson Chung <winsonc@google.com> | 2011-05-03 16:18:34 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2011-05-04 17:22:37 -0700 |
commit | 1ed747a4c07101793322c13a36dd547df4a3aa50 (patch) | |
tree | 2bf66dc2eb64cd5bf2637b5f23f98636dbcc5748 /src/com/android/launcher2/LauncherModel.java | |
parent | 3130ec86721d7e492b1954875a8e375eed235473 (diff) | |
download | android_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.java | 20 |
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); |