From 96ef409ebdc798a82786e5dcecfd7d897be0ed30 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Tue, 22 Nov 2011 12:25:14 -0800 Subject: 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 --- src/com/android/launcher2/Workspace.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/com') diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index ea7c0be7a..e12209468 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -2054,9 +2054,18 @@ public class Workspace extends SmoothPagedView 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 @@ public class Workspace extends SmoothPagedView 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 @@ public class Workspace extends SmoothPagedView } } 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 -- cgit v1.2.3