From a977d6b4efb35bda0055c585011742dc6661ba35 Mon Sep 17 00:00:00 2001 From: mpodolian Date: Mon, 3 Mar 2025 18:14:05 -0800 Subject: [PATCH] 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 --- .../com/android/launcher3/taskbar/TaskbarActivityContext.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index a1620a1cbe..9a2f20d5b2 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -328,9 +328,9 @@ public class TaskbarActivityContext extends BaseTaskbarContext { 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)