diff options
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 1 | ||||
-rw-r--r-- | src/com/android/launcher2/LauncherModel.java | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index f9c7bf070..864fca5be 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -2920,6 +2920,7 @@ public final class Launcher extends Activity final CellLayout layoutParent = (CellLayout) workspace.getChildAt(i); layoutParent.removeAllViewsInLayout(); } + mWidgetsToAdvance.clear(); if (mHotseat != null) { mHotseat.resetLayout(); } diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java index e2ddf1b49..7da55db6d 100644 --- a/src/com/android/launcher2/LauncherModel.java +++ b/src/com/android/launcher2/LauncherModel.java @@ -176,12 +176,16 @@ public class LauncherModel extends BroadcastReceiver { // Ensure that we don't use the same workspace items data structure on the main thread // by making a copy of workspace items first. final ArrayList<ItemInfo> workspaceItems = new ArrayList<ItemInfo>(sWorkspaceItems); + final ArrayList<ItemInfo> appWidgets = new ArrayList<ItemInfo>(sAppWidgets); mHandler.post(new Runnable() { @Override public void run() { for (ItemInfo item : workspaceItems) { item.unbind(); } + for (ItemInfo item : appWidgets) { + item.unbind(); + } } }); @@ -1229,7 +1233,6 @@ public class LauncherModel extends BroadcastReceiver { } }); - // Unbind previously bound workspace items to prevent a leak of AppWidgetHostViews. final ArrayList<ItemInfo> workspaceItems = unbindWorkspaceItemsOnMainThread(); // Add the items to the workspace. |