Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e3eaacdc authored by Liran Binyamin's avatar Liran Binyamin
Browse files

Fix missing bubble update dot

Don't update the dot scale if the bubble bar is not collapsing or
expanding.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 351904597
Test: manual
       - Create 2 bubbles in the bubble bar
       - Select both bubbles to clear the dot
       - Launch an app to stash the bar
       - Send updates to both bubbles
       - Observe dot appears during each animation
       - Swipe up on the bubble bar
       - Observe dot disappears for the selected bubble but remains
         for the unselected bubble
Change-Id: I2cb6dd7ded261686ae73e497bd5d4841ebde35ef
parent 892d3583
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -899,6 +899,13 @@ public class BubbleBarView extends FrameLayout {
            float fullElevationForChild = (MAX_BUBBLES * mBubbleElevation) - i;
            bv.setZ(fullElevationForChild * elevationState);

            // only update the dot scale if we're expanding or collapsing
            // TODO b/351904597: update the dot for the first bubble after removal and reorder
            // since those might happen when the bar is collapsed and will need their dot back
            if (mWidthAnimator.isRunning()) {
                bv.setDotScale(widthState);
            }

            if (mIsBarExpanded) {
                // If bar is on the right, account for bubble bar expanding and shifting left
                final float expandedBarShift = onLeft ? 0 : currentWidth - expandedWidth;
@@ -907,7 +914,6 @@ public class BubbleBarView extends FrameLayout {
                bv.setTranslationX(widthState * (targetX - collapsedX) + collapsedX);
                // When we're expanded, the badge is visible for all bubbles
                bv.updateBadgeVisibility(/* show= */ true);
                bv.setDotScale(widthState);
                bv.setAlpha(1);
            } else {
                // If bar is on the right, account for bubble bar expanding and shifting left
@@ -916,7 +922,6 @@ public class BubbleBarView extends FrameLayout {
                bv.setTranslationX(widthState * (expandedX - targetX) + targetX);
                // The badge is always visible for the first bubble
                bv.updateBadgeVisibility(/* show= */ i == 0);
                bv.setDotScale(widthState);
                // If we're fully collapsed, hide all bubbles except for the first 2. If there are
                // only 2 bubbles, hide the second bubble as well because it's the overflow.
                if (widthState == 0) {