From 7d30a37007bac318db1c9af47a9af12d348042a5 Mon Sep 17 00:00:00 2001 From: Adam Cohen Date: Mon, 1 Jul 2013 17:03:59 -0700 Subject: Porting PagedView from KG to gain simplified scaling model, reordering -> We are no longer scaling individual Celllayouts, instead we are scaling the entire Workspace (and the CellLayouts come along for the ride) -> Due to the above change, many assumptions were broken. In particular, our drag and drop / animation archiecture is fairly fragile due to the frequent and complex mapping of points between different bits of the hierarchy. This CL contains a number of fixes which address such breakages. Change-Id: I2e630eab17528729b764b61f587858f6499fd318 --- src/com/android/launcher3/DragController.java | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) (limited to 'src/com/android/launcher3/DragController.java') diff --git a/src/com/android/launcher3/DragController.java b/src/com/android/launcher3/DragController.java index 970ce2611..c59f34c25 100644 --- a/src/com/android/launcher3/DragController.java +++ b/src/com/android/launcher3/DragController.java @@ -509,10 +509,6 @@ public class DragController { private void checkTouchMove(DropTarget dropTarget) { if (dropTarget != null) { - DropTarget delegate = dropTarget.getDropTargetDelegate(mDragObject); - if (delegate != null) { - dropTarget = delegate; - } if (mLastDropTarget != dropTarget) { if (mLastDropTarget != null) { mLastDropTarget.onDragExit(mDragObject); @@ -701,24 +697,15 @@ public class DragController { if (!target.isDropEnabled()) continue; - target.getHitRect(r); - - // Convert the hit rect to DragLayer coordinates - target.getLocationInDragLayer(dropCoordinates); - r.offset(dropCoordinates[0] - target.getLeft(), dropCoordinates[1] - target.getTop()); + target.getHitRectRelativeToDragLayer(r); mDragObject.x = x; mDragObject.y = y; if (r.contains(x, y)) { - DropTarget delegate = target.getDropTargetDelegate(mDragObject); - if (delegate != null) { - target = delegate; - target.getLocationInDragLayer(dropCoordinates); - } - // Make dropCoordinates relative to the DropTarget - dropCoordinates[0] = x - dropCoordinates[0]; - dropCoordinates[1] = y - dropCoordinates[1]; + dropCoordinates[0] = x; + dropCoordinates[1] = y; + mLauncher.getDragLayer().mapCoordInSelfToDescendent((View) target, dropCoordinates); return target; } -- cgit v1.2.3