diff options
| author | 2022-06-13 16:12:17 -0700 | |
|---|---|---|
| committer | 2022-06-13 16:16:46 -0700 | |
| commit | b967adf753d87252fe45808a257c449093f397d6 (patch) | |
| tree | d15a40f09ca40bda67fec6d99c9838ed0b0fa5f8 | |
| parent | f029d8cf1bf588ed46856fc2d0d78275cdd95bf8 (diff) | |
Fix an issue where tasks moving to front would collapse the stack.
ag/18759417 introduced a new call to onTaskMovedToFront which impacted
some bubbles behavior, basically while switching bubbles the
"background" app now appears to move to the front for a moment which
causes bubbles to be collapsed. The fix is to flip the flag for
bubbles switching a bit sooner than we already do.
Test: manual - have some bubbles, visit each of them once (i.e. have
the activity launched), then visit them all again
=> verify all the bubbles can be visited both times and
the stack doesn't collapse.
Bug: 235781358
Change-Id: Id0674cafd92d5aeb802a0da77a679996e7041b74
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java | 4 |
1 files changed, 2 insertions, 2 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 0e8dc63943a6..0a334140d616 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 @@ -2220,11 +2220,10 @@ public class BubbleStackView extends FrameLayout private void animateSwitchBubbles() { // If we're no longer expanded, this is meaningless. if (!mIsExpanded) { + mIsBubbleSwitchAnimating = false; return; } - mIsBubbleSwitchAnimating = true; - // The surface contains a screenshot of the animating out bubble, so we just need to animate // it out (and then release the GraphicBuffer). PhysicsAnimator.getInstance(mAnimatingOutSurfaceContainer).cancel(); @@ -2838,6 +2837,7 @@ public class BubbleStackView extends FrameLayout }, 0); if (!mIsExpansionAnimating) { + mIsBubbleSwitchAnimating = true; mSurfaceSynchronizer.syncSurfaceAndRun(() -> { post(this::animateSwitchBubbles); }); |