am c1d36c31: am 6a3f5695: am cb9f7988: Fix 2199124 - Sometimes app icons don\'t go away when deleting the app.
Merge commit 'c1d36c3124f8de94ed8e1304403c703910281870'
* commit 'c1d36c3124f8de94ed8e1304403c703910281870':
Fix 2199124 - Sometimes app icons don't go away when deleting the app.
diff --git a/src/com/android/launcher2/AllAppsView.java b/src/com/android/launcher2/AllAppsView.java
index a1ce8f6..aea8c80 100644
--- a/src/com/android/launcher2/AllAppsView.java
+++ b/src/com/android/launcher2/AllAppsView.java
@@ -39,6 +39,7 @@
import android.renderscript.Sampler;
import android.renderscript.SimpleMesh;
+import android.content.ComponentName;
import android.content.Context;
import android.content.res.Resources;
import android.database.DataSetObserver;
@@ -547,7 +548,7 @@
final int N = list.size();
for (int i=0; i<N; i++) {
final ApplicationInfo item = list.get(i);
- int index = Collections.binarySearch(mAllAppsList, item, mAppIntentComp);
+ int index = findAppByComponent(mAllAppsList, item);
if (index >= 0) {
mAllAppsList.remove(index);
if (mRollo != null) {
@@ -581,11 +582,17 @@
}
};
- private Comparator<ApplicationInfo> mAppIntentComp = new Comparator<ApplicationInfo>() {
- public int compare(ApplicationInfo a, ApplicationInfo b) {
- return a.intent.getComponent().compareTo(b.intent.getComponent());
+ private static int findAppByComponent(ArrayList<ApplicationInfo> list, ApplicationInfo item) {
+ ComponentName component = item.intent.getComponent();
+ final int N = list.size();
+ for (int i=0; i<N; i++) {
+ ApplicationInfo x = list.get(i);
+ if (x.intent.getComponent().equals(component)) {
+ return i;
+ }
}
- };
+ return -1;
+ }
private static int countPages(int iconCount) {
int iconsPerPage = Defines.COLUMNS_PER_PAGE * Defines.ROWS_PER_PAGE;