From d22a0b84cb9b9920f5c9ae67d2a1ff2aabdfbf23 Mon Sep 17 00:00:00 2001 From: Mady Mellor Date: Thu, 15 Aug 2024 15:52:53 -0700 Subject: [PATCH] Include bubbles in the dragged items of taskbar UI controller Flag: com.android.wm.shell.enable_bubble_bar Test: manual - test dragging bubbles with the other CL Bug: 345488529 Change-Id: I95085fd18f2710cd36a2d47640641da047aa48c7 --- .../taskbar/LauncherTaskbarUIController.java | 7 ++++++- .../taskbar/bubbles/BubbleDragController.java | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index 60fb094dbf..b63b9ddab2 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -289,7 +289,12 @@ public class LauncherTaskbarUIController extends TaskbarUIController { } public boolean isDraggingItem() { - return mControllers.taskbarDragController.isDragging(); + boolean bubblesDragging = false; + if (mControllers.bubbleControllers.isPresent()) { + bubblesDragging = + mControllers.bubbleControllers.get().bubbleDragController.isDragging(); + } + return mControllers.taskbarDragController.isDragging() || bubblesDragging; } @Override diff --git a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleDragController.java b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleDragController.java index 656a26678e..54b883c13b 100644 --- a/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleDragController.java +++ b/quickstep/src/com/android/launcher3/taskbar/bubbles/BubbleDragController.java @@ -77,6 +77,8 @@ public class BubbleDragController { private BubbleBarPinController mBubbleBarPinController; private BubblePinController mBubblePinController; + private boolean mIsDragging; + public BubbleDragController(TaskbarActivityContext activity) { mActivity = activity; } @@ -240,6 +242,16 @@ public class BubbleDragController { }); } + /** Whether there is an item being dragged or not. */ + public boolean isDragging() { + return mIsDragging; + } + + /** Sets whether something is being dragged or not. */ + public void setIsDragging(boolean isDragging) { + mIsDragging = isDragging; + } + /** * Bubble touch listener for handling a single bubble view or bubble bar view while dragging. * The dragging starts after "shorter" long click (the long click duration might change): @@ -436,6 +448,7 @@ public class BubbleDragController { private void startDragging(@NonNull View view) { onDragStart(); + BubbleDragController.this.setIsDragging(true); mActivity.setTaskbarWindowFullscreen(true); mAnimator = new BubbleDragAnimator(view); mAnimator.animateFocused(); @@ -452,6 +465,7 @@ public class BubbleDragController { } private void stopDragging(@NonNull View view, @NonNull MotionEvent event) { + BubbleDragController.this.setIsDragging(false); Runnable onComplete = () -> { mActivity.setTaskbarWindowFullscreen(false); cleanUp(view);