am cb9f7988: Fix 2199124 - Sometimes app icons don\'t go away when deleting the app.

Merge commit 'cb9f79889485e3e1cbea8ba8fda8b7cb6472bb8a' into eclair-mr2

* commit 'cb9f79889485e3e1cbea8ba8fda8b7cb6472bb8a':
  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;