diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java index 9b173be08c..6767cf1bff 100644 --- a/src/com/android/launcher2/CellLayout.java +++ b/src/com/android/launcher2/CellLayout.java @@ -483,10 +483,6 @@ public class CellLayout extends CachedViewGroup { return mCountY; } - public boolean addViewToCellLayout(View child, int index, int childId, LayoutParams params) { - return addViewToCellLayout(child, index, childId, params, true); - } - public boolean addViewToCellLayout( View child, int index, int childId, LayoutParams params, boolean markCells) { final LayoutParams lp = params; diff --git a/src/com/android/launcher2/CellLayoutChildren.java b/src/com/android/launcher2/CellLayoutChildren.java index a6f7f42143..620da6ab84 100644 --- a/src/com/android/launcher2/CellLayoutChildren.java +++ b/src/com/android/launcher2/CellLayoutChildren.java @@ -167,4 +167,5 @@ public class CellLayoutChildren extends ViewGroup { protected void setChildrenDrawnWithCacheEnabled(boolean enabled) { super.setChildrenDrawnWithCacheEnabled(enabled); } -} \ No newline at end of file +} +} diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index 1733ddb2cf..f3208d0b88 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -3333,8 +3333,8 @@ public final class Launcher extends Activity int count = workspace.getChildCount(); for (int i = 0; i < count; i++) { // Use removeAllViewsInLayout() to avoid an extra requestLayout() and invalidate(). - final ViewGroup layout = ((CellLayout) workspace.getChildAt(i)).getChildrenLayout(); - layout.removeAllViewsInLayout(); + final CellLayout layoutParent = (CellLayout) workspace.getChildAt(i); + layoutParent.removeAllViewsInLayout(); } if (DEBUG_USER_INTERFACE) { diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index 004de3ae19..9d72c19641 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -2824,7 +2824,8 @@ public class Workspace extends SmoothPagedView } for (int i = 0; i < screenCount; i++) { - final ViewGroup layout = ((CellLayout) getChildAt(i)).getChildrenLayout(); + final CellLayout layoutParent = (CellLayout) getChildAt(i); + final ViewGroup layout = layoutParent.getChildrenLayout(); // Avoid ANRs by treating each screen separately post(new Runnable() { @@ -2911,7 +2912,9 @@ public class Workspace extends SmoothPagedView childCount = childrenToRemove.size(); for (int j = 0; j < childCount; j++) { View child = childrenToRemove.get(j); - layout.removeViewInLayout(child); + // Note: We can not remove the view directly from CellLayoutChildren as this + // does not re-mark the spaces as unoccupied. + layoutParent.removeViewInLayout(child); if (child instanceof DropTarget) { mDragController.removeDropTarget((DropTarget)child); }