diff options
author | Winson Chung <winsonc@google.com> | 2015-05-07 13:26:17 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2015-05-07 13:29:30 -0700 |
commit | f50c12788c1ebbd28e9bc45575601540983c6562 (patch) | |
tree | 65cec9a9dda4eb24dbf889d064f2fa0afbaf84e4 | |
parent | 4e267f4cdca3ec52aa55982560551ea766adf9be (diff) | |
download | android_packages_apps_Trebuchet-f50c12788c1ebbd28e9bc45575601540983c6562.tar.gz android_packages_apps_Trebuchet-f50c12788c1ebbd28e9bc45575601540983c6562.tar.bz2 android_packages_apps_Trebuchet-f50c12788c1ebbd28e9bc45575601540983c6562.zip |
Fixing issue where apps were not re-sorted after updating.
Bug: 20163738
Change-Id: I2fbefc6f451d8eef3d17f727be450a04204a9ca3
-rw-r--r-- | src/com/android/launcher3/AlphabeticalAppsList.java | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/com/android/launcher3/AlphabeticalAppsList.java b/src/com/android/launcher3/AlphabeticalAppsList.java index 477c00fe8..e9a52d5a5 100644 --- a/src/com/android/launcher3/AlphabeticalAppsList.java +++ b/src/com/android/launcher3/AlphabeticalAppsList.java @@ -226,7 +226,6 @@ public class AlphabeticalAppsList { * Sets the current set of apps. */ public void setApps(List<AppInfo> apps) { - Collections.sort(apps, mAppNameComparator.getComparator()); mApps.clear(); mApps.addAll(apps); onAppsUpdated(); @@ -241,6 +240,8 @@ public class AlphabeticalAppsList { for (AppInfo info : apps) { addApp(info); } + onAppsUpdated(); + mAdapter.notifyDataSetChanged(); } /** @@ -251,12 +252,12 @@ public class AlphabeticalAppsList { int index = mApps.indexOf(info); if (index != -1) { mApps.set(index, info); - onAppsUpdated(); - mAdapter.notifyItemChanged(index); } else { addApp(info); } } + onAppsUpdated(); + mAdapter.notifyDataSetChanged(); } /** @@ -267,10 +268,10 @@ public class AlphabeticalAppsList { int removeIndex = findAppByComponent(mApps, info); if (removeIndex != -1) { mApps.remove(removeIndex); - onAppsUpdated(); - mAdapter.notifyDataSetChanged(); } } + onAppsUpdated(); + mAdapter.notifyDataSetChanged(); } /** @@ -290,14 +291,12 @@ public class AlphabeticalAppsList { } /** - * Implementation to actually add an app to the alphabetic list + * Implementation to actually add an app to the alphabetic list, but does not notify. */ private void addApp(AppInfo info) { int index = Collections.binarySearch(mApps, info, mAppNameComparator.getComparator()); if (index < 0) { mApps.add(-(index + 1), info); - onAppsUpdated(); - mAdapter.notifyDataSetChanged(); } } @@ -305,6 +304,9 @@ public class AlphabeticalAppsList { * Updates internals when the set of apps are updated. */ private void onAppsUpdated() { + // Sort the list of apps + Collections.sort(mApps, mAppNameComparator.getComparator()); + // Recreate the filtered and sectioned apps (for convenience for the grid layout) mFilteredApps.clear(); mSections.clear(); |