summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2012-05-01 15:10:11 -0700
committerWinson Chung <winsonc@google.com>2012-05-01 16:26:51 -0700
commite3e03bcd313ba8060f2832b6a16dea6fd6d532ea (patch)
treea4cbcbf874b25137eb4b46098dca9bc26aaded80
parentd65b23089c90edcf2808ccccf8f918b6155cc2ec (diff)
downloadpackages_apps_trebuchet-e3e03bcd313ba8060f2832b6a16dea6fd6d532ea.zip
packages_apps_trebuchet-e3e03bcd313ba8060f2832b6a16dea6fd6d532ea.tar.gz
packages_apps_trebuchet-e3e03bcd313ba8060f2832b6a16dea6fd6d532ea.tar.bz2
Fixing issue where widgets larger than the workspace were now bounded when dropped. (Bug 6424463);
Change-Id: I8dcabd084d79697933f873d44bb390f608780c3b
-rw-r--r--src/com/android/launcher2/CellLayout.java2
-rw-r--r--src/com/android/launcher2/PagedViewWidget.java4
2 files changed, 5 insertions, 1 deletions
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java
index c2797be..1223d1c 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher2/CellLayout.java
@@ -1746,6 +1746,8 @@ public class CellLayout extends ViewGroup {
private boolean rearrangementExists(int cellX, int cellY, int spanX, int spanY, int[] direction,
View ignoreView, ItemConfiguration solution) {
+ // Return early if get invalid cell positions
+ if (cellX < 0 || cellY < 0) return false;
mIntersectingViews.clear();
mOccupiedRect.set(cellX, cellY, cellX + spanX, cellY + spanY);
diff --git a/src/com/android/launcher2/PagedViewWidget.java b/src/com/android/launcher2/PagedViewWidget.java
index 670717e..774bf1f 100644
--- a/src/com/android/launcher2/PagedViewWidget.java
+++ b/src/com/android/launcher2/PagedViewWidget.java
@@ -92,7 +92,9 @@ public class PagedViewWidget extends LinearLayout {
name.setText(info.label);
final TextView dims = (TextView) findViewById(R.id.widget_dims);
if (dims != null) {
- dims.setText(String.format(mDimensionsFormatString, cellSpan[0], cellSpan[1]));
+ int hSpan = Math.min(cellSpan[0], LauncherModel.getCellCountX());
+ int vSpan = Math.min(cellSpan[1], LauncherModel.getCellCountY());
+ dims.setText(String.format(mDimensionsFormatString, hSpan, vSpan));
}
}