Taskbar app icon drag interruption fix.
When there are no bubbles and the taskbar is not present on the screen,
the bubble bar drop target needs to be shown for the dragged taskbar
icon. To show the drop target, the view is added to the bubble bar's
parent layout. When the drop target should be hidden, the view is
removed.
The issue was caused by an incorrect parent container being passed to
the BubbleBarPinController. Instead of the bubble bar container, the
entire drag layer was used. Removing the view from the drag layer
interrupted the drag gesture.
Adding/removing the drop target view directly to the bubble bar
container does not affect the drag.
Bug: 397459664
Flag: com.android.wm.shell.enable_create_any_bubble
Test: Manual. Be on the overview screen with no bubbles present. Drag
the taskbar over the bubble drop zone and then back. Observe that the
drag is not interrupted.
Change-Id: I116883117b3da39528a4586a2436a10838625600
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
index a1620a1..9a2f20d 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
@@ -328,9 +328,9 @@
bubbleHandleController,
new BubbleDragController(this),
new BubbleDismissController(this, mDragLayer),
- new BubbleBarPinController(this, mDragLayer,
+ new BubbleBarPinController(this, bubbleBarContainer,
() -> DisplayController.INSTANCE.get(this).getInfo().currentSize),
- new BubblePinController(this, mDragLayer,
+ new BubblePinController(this, bubbleBarContainer,
() -> DisplayController.INSTANCE.get(this).getInfo().currentSize),
bubbleBarSwipeController,
new BubbleCreator(this)