diff options
| author | 2024-02-05 21:41:45 +0000 | |
|---|---|---|
| committer | 2024-02-05 21:41:45 +0000 | |
| commit | 15e35cfd2b9d4a04ed5418b6fb0035c84c914f3f (patch) | |
| tree | 33bc458b5f669f2a32b772134eae2abc60b99516 | |
| parent | 1c32949afca65963cceebbe82682797dedc17eb8 (diff) | |
| parent | 49bb2106a7dd5f8008b522d0d589633935db41f9 (diff) | |
Merge "Fix bubble manage menu after dismissing bubble" into main
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java index c877d4a2a019..c5bc9ebb0594 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java @@ -2580,6 +2580,18 @@ public class BubbleStackView extends FrameLayout mExpandedViewTemporarilyHidden = false; mIsBubbleSwitchAnimating = false; mExpandedViewContainer.setAnimationMatrix(null); + + // When a bubble is being dragged, the expanded view is temporarily hidden. + // If the motion ends with dismissing the bubble, with multiple bubbles in + // the stack, we'll end up here to switch to the new bubble. However, the + // expanded view animation might not actually set the z ordering for the + // expanded view correctly, because the view may still be temporarily + // hidden. So set it again here. + BubbleExpandedView bev = mExpandedBubble.getExpandedView(); + if (bev != null) { + mExpandedBubble.getExpandedView().setSurfaceZOrderedOnTop(false); + mExpandedBubble.getExpandedView().setAnimating(false); + } }) .start(); }, 25); @@ -2659,7 +2671,7 @@ public class BubbleStackView extends FrameLayout if (!mExpandedBubble.getExpandedView().isUsingMaxHeight()) { mExpandedViewContainer.animate().translationY(newExpandedViewTop); } - List<Animator> animList = new ArrayList(); + List<Animator> animList = new ArrayList<>(); for (int i = 0; i < mBubbleContainer.getChildCount(); i++) { View child = mBubbleContainer.getChildAt(i); float transY = mPositioner.getExpandedBubbleXY(i, getState()).y; |