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
This commit is contained in:
Mady Mellor
2022-06-13 16:12:17 -07:00
parent f029d8cf1b
commit b967adf753

View File

@@ -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);
});