diff options
author | Raj Yengisetty <rajesh@cyngn.com> | 2014-11-10 10:35:01 -0800 |
---|---|---|
committer | Adnan <adnan@cyngn.com> | 2014-11-19 15:53:58 -0800 |
commit | 370a0a6c6fce3768bb64deb0ef88d23dc4719d8a (patch) | |
tree | 33c28c0c601e456312e91c4230ecba5e3719eef6 | |
parent | a251402a9c16fb95414138c3f50dbcdf40d9d869 (diff) | |
download | packages_apps_Trebuchet-370a0a6c6fce3768bb64deb0ef88d23dc4719d8a.tar.gz packages_apps_Trebuchet-370a0a6c6fce3768bb64deb0ef88d23dc4719d8a.tar.bz2 packages_apps_Trebuchet-370a0a6c6fce3768bb64deb0ef88d23dc4719d8a.zip |
Fix: Sort apps before opening AppDrawer to reflect the most recent counts.
Repro:
Clear Trebuchet data
Drawer Sorting mode of Launch Count
Launch App1 twice
Launch App2 once
Open drawer, note App1 ordered before App2
Launcher App2 two more times
Open drawer, note position hasn't updated
Change-Id: I9d85627f5dc86bc753a1e6f22911ee39a8d78b5e
-rw-r--r-- | src/com/android/launcher3/AppsCustomizePagedView.java | 82 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 1 |
2 files changed, 48 insertions, 35 deletions
diff --git a/src/com/android/launcher3/AppsCustomizePagedView.java b/src/com/android/launcher3/AppsCustomizePagedView.java index 0a125e63b..5c298ef4e 100644 --- a/src/com/android/launcher3/AppsCustomizePagedView.java +++ b/src/com/android/launcher3/AppsCustomizePagedView.java @@ -210,7 +210,6 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen private ArrayList<AppInfo> mApps; private ArrayList<Object> mWidgets; - private ArrayList<AppInfo> mFilteredApps; private ArrayList<Object> mFilteredWidgets; private ArrayList<ComponentName> mProtectedApps; private ArrayList<String> mProtectedPackages; @@ -1502,6 +1501,53 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen mSaveInstanceStateItemIndex = -1; } + private void onTransitionPrepare() { + mIsSwitchingState = true; + + // Invalidate here to ensure that the pages are rendered during the state change transition. + invalidate(); + + enableHwLayersOnVisiblePages(); + } + + private void onTransitionEnd() { + mIsSwitchingState = false; + } + + public Comparator<AppInfo> getComparatorForSortMode() { + switch (mSortMode) { + case Title: + return LauncherModel.getAppNameComparator(); + case LaunchCount: + return LauncherModel.getAppLaunchCountComparator(mLauncher.getStats()); + case InstallTime: + return LauncherModel.APP_INSTALL_TIME_COMPARATOR; + } + return LauncherModel.getAppNameComparator(); + } + + public void setSortMode(SortMode sortMode) { + if (mSortMode == sortMode) return; + + mSortMode = sortMode; + + sortApps(); + } + + public void sortApps() { + Collections.sort(mApps, getComparatorForSortMode()); + + if (mContentType == ContentType.Applications) { + for (int i = 0; i < getChildCount(); i++) { + syncAppsPageItems(i, true); + } + } + } + + public SortMode getSortMode() { + return mSortMode; + } + /* * AllAppsView implementation */ @@ -1713,38 +1759,4 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen return String.format(getContext().getString(stringId), page + 1, count); } - - public Comparator<AppInfo> getComparatorForSortMode() { - switch (mSortMode) { - case Title: - return LauncherModel.getAppNameComparator(); - case LaunchCount: - return LauncherModel.getAppLaunchCountComparator(mLauncher.getStats()); - case InstallTime: - return LauncherModel.APP_INSTALL_TIME_COMPARATOR; - } - return LauncherModel.getAppNameComparator(); - } - - public void setSortMode(SortMode sortMode) { - if (mSortMode == sortMode) return; - - mSortMode = sortMode; - - sortApps(); - } - - public void sortApps() { - Collections.sort(new ArrayList<AppInfo>(), getComparatorForSortMode()); - - if (mContentType == ContentType.Applications) { - for (int i = 0; i < getChildCount(); i++) { - syncAppsPageItems(i, true); - } - } - } - - public SortMode getSortMode() { - return mSortMode; - } } diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 28a9881cb..27ae67080 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -4061,6 +4061,7 @@ public class Launcher extends Activity if (resetPageToZero) { mAppsCustomizeTabHost.reset(); } + mAppsCustomizeContent.sortApps(); showAppsCustomizeHelper(animated, false, contentType); mAppsCustomizeTabHost.post(new Runnable() { @Override |