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

Commit dd667403 authored by Mady Mellor's avatar Mady Mellor
Browse files

Fix the dot not showing when it should

* Sometimes the dot doesn't show when it should, this was happening
  because the mAfterFlyoutHidden might not be set for updates
  to the flyout

Test: manual 1) add a new bubble, before the flyout for it has
                animated away, add a second bubble, before 2nd
                bubble's flyout as animated away, add another update
                to it
             2) wait for the flyout to animate away, ensure the
                update dot is visible
Bug: 185438888
Change-Id: I7e21ee87cb2ad02871330178668bc07962485e2d
parent dd934371
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -231,7 +231,8 @@ public class BubbleFlyoutView extends FrameLayout {
     * Fade animation for consecutive flyouts.
     */
    void animateUpdate(Bubble.FlyoutMessage flyoutMessage, float parentWidth, PointF stackPos,
            boolean hideDot) {
            boolean hideDot, Runnable onHide) {
        mOnHide = onHide;
        final Runnable afterFadeOut = () -> {
            updateFlyoutMessage(flyoutMessage, parentWidth);
            // Wait for TextViews to layout with updated height.
+3 −2
Original line number Diff line number Diff line
@@ -2401,7 +2401,8 @@ public class BubbleStackView extends FrameLayout

            if (mFlyout.getVisibility() == View.VISIBLE) {
                mFlyout.animateUpdate(bubble.getFlyoutMessage(), getWidth(),
                        mStackAnimationController.getStackPosition(), !bubble.showDot());
                        mStackAnimationController.getStackPosition(), !bubble.showDot(),
                        mAfterFlyoutHidden /* onHide */);
            } else {
                mFlyout.setVisibility(INVISIBLE);
                mFlyout.setupFlyoutStartingAsDot(bubble.getFlyoutMessage(),
@@ -2409,7 +2410,7 @@ public class BubbleStackView extends FrameLayout
                        mStackAnimationController.isStackOnLeftSide(),
                        bubble.getIconView().getDotColor() /* dotColor */,
                        expandFlyoutAfterDelay /* onLayoutComplete */,
                        mAfterFlyoutHidden,
                        mAfterFlyoutHidden /* onHide */,
                        bubble.getIconView().getDotCenter(),
                        !bubble.showDot(),
                        mPositioner);