diff options
author | Nebojsa Cvetkovic <nebkat@gmail.com> | 2013-12-09 18:30:47 +0000 |
---|---|---|
committer | Danesh M <daneshm90@gmail.com> | 2014-01-24 16:24:24 -0800 |
commit | d04d02edd24c9eff4d51b3436922414c0db36220 (patch) | |
tree | 295827e7f5eabb6f85e94fb5324a8e3ea7e98386 | |
parent | 3635cea69900a4c4d50889b104fb9682a54c093e (diff) | |
download | android_packages_apps_Trebuchet-d04d02edd24c9eff4d51b3436922414c0db36220.tar.gz android_packages_apps_Trebuchet-d04d02edd24c9eff4d51b3436922414c0db36220.tar.bz2 android_packages_apps_Trebuchet-d04d02edd24c9eff4d51b3436922414c0db36220.zip |
LauncherModel: Add launch count app comparator
Change-Id: Ie6481f8ae46a76086e187309bba3cdaafaf86977
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 16 | ||||
-rw-r--r-- | src/com/android/launcher3/Stats.java | 14 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 7e1442dce..63ec2a257 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -3078,6 +3078,22 @@ public class LauncherModel extends BroadcastReceiver { } }; } + public static final Comparator<AppInfo> getAppLaunchCountComparator(final Stats stats) { + final Collator collator = Collator.getInstance(); + return new Comparator<AppInfo>() { + public final int compare(AppInfo a, AppInfo b) { + int result = stats.launchCount(b.intent) - stats.launchCount(a.intent); + if (result == 0) { + result = collator.compare(a.title.toString().trim(), + b.title.toString().trim()); + if (result == 0) { + result = a.componentName.compareTo(b.componentName); + } + } + return result; + } + }; + } public static final Comparator<AppInfo> APP_INSTALL_TIME_COMPARATOR = new Comparator<AppInfo>() { public final int compare(AppInfo a, AppInfo b) { diff --git a/src/com/android/launcher3/Stats.java b/src/com/android/launcher3/Stats.java index 882fb04a3..6ba1c19b9 100644 --- a/src/com/android/launcher3/Stats.java +++ b/src/com/android/launcher3/Stats.java @@ -103,6 +103,20 @@ public class Stats { } } + public int launchCount(Intent intent) { + intent = new Intent(intent); + intent.setSourceBounds(null); + + final String flat = intent.toUri(0); + + int pos = mIntents.indexOf(flat); + if (pos < 0) { + return 0; + } else { + return mHistogram.get(pos); + } + } + public void recordLaunch(Intent intent) { recordLaunch(intent, null); } |