Preventing springloaded mode from snapping back due to timeout. (Bug 5649189)
- Also allowing drop on all apps button to cancel a drag
Change-Id: I27252bd34c591882d8c5f80389d8fd6f4f6e4791
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index ea7c0be..e122094 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -2054,9 +2054,18 @@
return true;
}
-
// Don't accept the drop if there's no room for the item
if (!mDragTargetLayout.findCellForSpanIgnoring(null, spanX, spanY, ignoreView)) {
+ // Don't show the message if we are dropping on the AllApps button and the hotseat
+ // is full
+ if (mTargetCell != null && mLauncher.isHotseatLayout(mDragTargetLayout)) {
+ Hotseat hotseat = mLauncher.getHotseat();
+ if (Hotseat.isAllAppsButtonRank(
+ hotseat.getOrderInHotseat(mTargetCell[0], mTargetCell[1]))) {
+ return false;
+ }
+ }
+
mLauncher.showOutOfSpaceMessage();
return false;
}
@@ -2637,7 +2646,7 @@
return cl;
}
- if (!exact && overlaps(cl, dragView, (int) originX, (int) originY, mTempInverseMatrix)) {
+ if (!exact) {
// Get the center of the cell layout in screen coordinates
final float[] cellLayoutCenter = mTempCellLayoutCenterCoordinates;
cellLayoutCenter[0] = cl.getWidth()/2;
@@ -2723,7 +2732,7 @@
}
}
if (layout == null) {
- layout = findMatchingPageForDragOver(d.dragView, d.x, d.y, true);
+ layout = findMatchingPageForDragOver(d.dragView, d.x, d.y, false);
}
if (layout != mDragTargetLayout) {
// Cancel all intermediate folder states