Fix bug that allowed multiple items in one cell
Fixed issue where opening a folder allowed items to be placed on any cell, even if it was occupied.
Bug: 3094164
Change-Id: I392e7236f9cd7ea0b09f36e249d2a57c9934dc8e
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java
index d94bacf..98aad14 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher2/CellLayout.java
@@ -456,6 +456,11 @@
}
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;
// Generate an id for each view, this assumes we have at most 256x256 cells
@@ -473,7 +478,7 @@
child.setAlpha(getAlpha());
addView(child, index, lp);
- markCellsAsOccupiedForView(child);
+ if (markCells) markCellsAsOccupiedForView(child);
return true;
}
@@ -500,6 +505,10 @@
clearOccupiedCells();
}
+ public void removeViewWithoutMarkingCells(View view) {
+ super.removeView(view);
+ }
+
@Override
public void removeView(View view) {
markCellsAsUnoccupiedForView(view);