Still trying to fix 2320348 - Launcher2 crashed: AIOOBE at com.android.launcher2.AllAppsView$RolloRS.removeApp
diff --git a/src/com/android/launcher2/AllAppsView.java b/src/com/android/launcher2/AllAppsView.java
index fa272b9..8d24ea3 100644
--- a/src/com/android/launcher2/AllAppsView.java
+++ b/src/com/android/launcher2/AllAppsView.java
@@ -658,11 +658,7 @@
     public void setApps(ArrayList<ApplicationInfo> list) {
         mAllAppsList = list;
         if (mRollo != null) {
-            if (mRollo.mHasSurface) {
-                mRollo.setApps(list);
-            } else {
-                mRollo.mAppsDirty = true;
-            }
+            mRollo.setApps(list);
         }
         mLocks &= ~LOCK_ICONS_PENDING;
     }
@@ -1084,7 +1080,13 @@
             mState.iconCount = count;
             for (int i=0; i < mState.iconCount; i++) {
                 createAppIconAllocations(i, list.get(i));
-                uploadAppIcon(i, list.get(i));
+            }
+            if (mHasSurface) {
+                for (int i=0; i < mState.iconCount; i++) {
+                    uploadAppIcon(i, list.get(i));
+                }
+            } else {
+                mRollo.mAppsDirty = true;
             }
             saveAppsList();
         }