Fix bubble bar drag-to-dismiss target over the taskbar interruption

Added an additional check for BubbleDragController drag state
to the TaskbarStashViaTouchController. T

Bug: 410908600
Flag: com.android.wm.shell.enable_bubble_bar
Test: Manual.
  1. Go to overview screen with a transient taskbar.
  2. Create any bubble.
  3. Collapse the bubble bar.
  4. Drag the collapsed bar towards the dismiss target location
     (usually bottom center) ensuring the drag path crosses
     the taskbar area. Verify dismissal works correctly without
     interference from the taskbar touch handling.
Change-Id: I8c58135359dc6ea30479a778caa8e7b6eebc9c80
This commit is contained in:
mpodolian
2025-04-15 17:55:46 -07:00
parent b0d0d41a2a
commit eeaa58556b
@@ -126,6 +126,14 @@ class TaskbarStashViaTouchController(val controllers: TaskbarControllers) : Touc
if (ev.action == MotionEvent.ACTION_OUTSIDE) {
controllers.taskbarStashController.updateAndAnimateTransientTaskbar(true)
} else if (controllers.taskbarViewController.isEventOverAnyItem(screenCoordinatesEv)) {
// TODO (b/411155437) remove this once BubbleDragController implements TouchController
val bubbleBarDragInProgress =
controllers.bubbleControllers
.map { it.bubbleDragController.isDragging }
.orElse(false)
if (bubbleBarDragInProgress) {
return false
}
swipeDownDetector.onTouchEvent(ev)
if (swipeDownDetector.isDraggingState) {
return true