Fix: Global DnD not working
As part of global DnD feature we expect secondary touches to go to other windows and not get blocked by drag window. With the refactoring in InputDispatcher, we don't allow splitting touch if the current window has a pointer and has PREVENT_SPLITTING config even if that window has no touchable region. Removing PREVENT_SPLITTING config doesn't affect any behavior with focus, etc. Seems like legacy code that can be removed. Need extra work to make Esc key work to cancel DnD, which was already broken before this change. (To be handled in a separate CL) Test: manual Bug: 266705421 DD: go/global_drag_and_drop Change-Id: Id98b1687489bc29155a76d452a626b134189b576
This commit is contained in:
@@ -377,15 +377,10 @@ class DragState {
|
||||
mDragWindowHandle.ownerUid = MY_UID;
|
||||
mDragWindowHandle.scaleFactor = 1.0f;
|
||||
|
||||
// InputConfig.PREVENT_SPLITTING: To keep the default behavior of this window to be
|
||||
// focusable, which allows the system to consume keys when dragging is active. This can
|
||||
// also be used to modify the drag state on key press. For example, cancel drag on
|
||||
// escape key.
|
||||
// InputConfig.TRUSTED_OVERLAY: To not block any touches while D&D ongoing and allowing
|
||||
// touches to pass through to windows underneath. This allows user to interact with the
|
||||
// UI to navigate while dragging.
|
||||
mDragWindowHandle.inputConfig =
|
||||
InputConfig.PREVENT_SPLITTING | InputConfig.TRUSTED_OVERLAY;
|
||||
mDragWindowHandle.inputConfig = InputConfig.TRUSTED_OVERLAY;
|
||||
|
||||
// The drag window cannot receive new touches.
|
||||
mDragWindowHandle.touchableRegion.setEmpty();
|
||||
|
||||
Reference in New Issue
Block a user