From da3cc7a9396593615731701bdaeeb817b6a17244 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Thu, 22 Mar 2018 12:49:12 -0700 Subject: Fixing drag and drop states > Not sending acceptDrop if we are not dragging > Removing workspace scrim in all-apps Bug: 74775232 Change-Id: I5b5354ec249d684ffccd4aacd3c47377cc0eb661 --- src/com/android/launcher3/dragndrop/DragController.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/com/android/launcher3/dragndrop/DragController.java') diff --git a/src/com/android/launcher3/dragndrop/DragController.java b/src/com/android/launcher3/dragndrop/DragController.java index 818cea76c..5c6946c47 100644 --- a/src/com/android/launcher3/dragndrop/DragController.java +++ b/src/com/android/launcher3/dragndrop/DragController.java @@ -583,6 +583,12 @@ public class DragController implements DragDriver.EventListener, TouchController } mDragObject.dragComplete = true; + if (mIsInPreDrag) { + if (dropTarget != null) { + dropTarget.onDragExit(mDragObject); + } + return; + } // Drop onto the target. boolean accepted = false; @@ -591,17 +597,15 @@ public class DragController implements DragDriver.EventListener, TouchController if (dropTarget.acceptDrop(mDragObject)) { if (flingAnimation != null) { flingAnimation.run(); - } else if (!mIsInPreDrag) { + } else { dropTarget.onDrop(mDragObject, mOptions); } accepted = true; } } final View dropTargetAsView = dropTarget instanceof View ? (View) dropTarget : null; - if (!mIsInPreDrag) { - mLauncher.getUserEventDispatcher().logDragNDrop(mDragObject, dropTargetAsView); - dispatchDropComplete(dropTargetAsView, accepted); - } + mLauncher.getUserEventDispatcher().logDragNDrop(mDragObject, dropTargetAsView); + dispatchDropComplete(dropTargetAsView, accepted); } private DropTarget findDropTarget(int x, int y, int[] dropCoordinates) { -- cgit v1.2.3