Fix selection after dismissal

When dismissing a bubble, mIsBubbleSwitchingAnimating should only be
true if it's the current bubble being dismissed. If a different
bubble is selected, then no switching animation will need to be
run.

Bug: 234621652
Bug: 234069335
Test: manual - have multiple bubbles, expand the stack, dismiss
               a bubble that isn't currently selected
               => verify that you can select a different bubble after
               dismissing
Change-Id: Ice4ade66d49e1bd302defab142ae367c4a889cfd
This commit is contained in:
Mady Mellor
2022-06-01 16:41:16 -07:00
parent 0c8bb60c9c
commit 2b1795f2af

View File

@@ -96,6 +96,7 @@ import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.function.Consumer;
import java.util.stream.Collectors;
@@ -2744,8 +2745,10 @@ public class BubbleStackView extends FrameLayout
private void dismissBubbleIfExists(@Nullable BubbleViewProvider bubble) {
if (bubble != null && mBubbleData.hasBubbleInStackWithKey(bubble.getKey())) {
if (mIsExpanded && mBubbleData.getBubbles().size() > 1) {
// If we have more than 1 bubble we will perform the switch animation
if (mIsExpanded && mBubbleData.getBubbles().size() > 1
&& Objects.equals(bubble, mExpandedBubble)) {
// If we have more than 1 bubble and it's the current bubble being dismissed,
// we will perform the switch animation
mIsBubbleSwitchAnimating = true;
}
mBubbleData.dismissBubbleWithKey(bubble.getKey(), Bubbles.DISMISS_USER_GESTURE);