diff --git a/src/com/android/launcher3/ButtonDropTarget.java b/src/com/android/launcher3/ButtonDropTarget.java index 5a4ed2f548..0f6073eeea 100644 --- a/src/com/android/launcher3/ButtonDropTarget.java +++ b/src/com/android/launcher3/ButtonDropTarget.java @@ -62,6 +62,8 @@ public abstract class ButtonDropTarget extends TextView /** Whether this drop target is active for the current drag */ protected boolean mActive; + /** Whether an accessible drag is in progress */ + private boolean mAccessibleDrag; /** An item must be dragged at least this many pixels before this drop target is enabled. */ private final int mDragDistanceThreshold; @@ -218,8 +220,8 @@ public abstract class ButtonDropTarget extends TextView @Override public boolean isDropEnabled() { - return mActive - && mLauncher.getDragController().getDistanceDragged() >= mDragDistanceThreshold; + return mActive && (mAccessibleDrag || + mLauncher.getDragController().getDistanceDragged() >= mDragDistanceThreshold); } @Override @@ -307,6 +309,7 @@ public abstract class ButtonDropTarget extends TextView } public void enableAccessibleDrag(boolean enable) { + mAccessibleDrag = enable; setOnClickListener(enable ? this : null); } diff --git a/src/com/android/launcher3/Hotseat.java b/src/com/android/launcher3/Hotseat.java index 7c0ed10d02..c738480fe9 100644 --- a/src/com/android/launcher3/Hotseat.java +++ b/src/com/android/launcher3/Hotseat.java @@ -165,11 +165,9 @@ public class Hotseat extends FrameLayout @Override public boolean onInterceptTouchEvent(MotionEvent ev) { // We don't want any clicks to go through to the hotseat unless the workspace is in - // the normal state. - if (mLauncher.getWorkspace().workspaceInModalState()) { - return true; - } - return false; + // the normal state or an accessible drag is in progress. + return mLauncher.getWorkspace().workspaceInModalState() && + !mLauncher.getAccessibilityDelegate().isInAccessibleDrag(); } @Override