Fixing issue where we were not clearing the set of removed items since the last event. (Bug 6749258)

Change-Id: I21ed2810e902e2727959b1a4cc0cd6183b750603
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java
index 84bdc96..80fc62f 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher2/AppsCustomizePagedView.java
@@ -1736,7 +1736,6 @@
             ApplicationInfo info = list.get(i);
             int removeIndex = findAppByComponent(mApps, info);
             if (removeIndex > -1) {
-                Log.d(TAG, "Removing app in removeAppsWithoutInvalidate: " + info);
                 mApps.remove(removeIndex);
             }
         }
@@ -1746,8 +1745,6 @@
         for (String pn : packageNames) {
             int removeIndex = findAppByPackage(mApps, pn);
             while (removeIndex > -1) {
-                Log.d(TAG, "Removing app in removeAppsWithPackageNameWithoutInvalidate: "
-                        + mApps.get(removeIndex));
                 mApps.remove(removeIndex);
                 removeIndex = findAppByPackage(mApps, pn);
             }
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java
index 1890e74..2c5f03a 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher2/LauncherModel.java
@@ -1715,20 +1715,23 @@
             ArrayList<ApplicationInfo> modified = null;
 
             if (mBgAllAppsList.added.size() > 0) {
-                added = mBgAllAppsList.added;
-                mBgAllAppsList.added = new ArrayList<ApplicationInfo>();
+                added = new ArrayList<ApplicationInfo>(mBgAllAppsList.added);
+                mBgAllAppsList.added.clear();
             }
             if (mBgAllAppsList.modified.size() > 0) {
-                modified = mBgAllAppsList.modified;
-                mBgAllAppsList.modified = new ArrayList<ApplicationInfo>();
+                modified = new ArrayList<ApplicationInfo>(mBgAllAppsList.modified);
+                mBgAllAppsList.modified.clear();
             }
-
             // We may be removing packages that have no associated launcher application, so we
             // pass through the removed package names directly.
             // NOTE: We flush the icon cache aggressively in removePackage() above.
             final ArrayList<String> removedPackageNames = new ArrayList<String>();
-            for (int i = 0; i < N; ++i) {
-                removedPackageNames.add(packages[i]);
+            if (mBgAllAppsList.removed.size() > 0) {
+                mBgAllAppsList.removed.clear();
+
+                for (int i = 0; i < N; ++i) {
+                    removedPackageNames.add(packages[i]);
+                }
             }
 
             final Callbacks callbacks = mCallbacks != null ? mCallbacks.get() : null;