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

Commit 91ffe299 authored by Mady Mellor's avatar Mady Mellor Committed by Android (Google) Code Review
Browse files

Merge changes I6129aff7,I7e21ee87 into sc-dev

* changes:
  Fix dot & badge being on correct side for the first bubble added
  Fix the dot not showing when it should
parents a607768e 305cfd26
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.
+10 −9
Original line number Diff line number Diff line
@@ -1492,22 +1492,22 @@ public class BubbleStackView extends FrameLayout
            mStackAnimationController.setStackPosition(mPositioner.getDefaultStartPosition());
        }

        if (getBubbleCount() == 0) {
            mStackOnLeftOrWillBe = mStackAnimationController.isStackOnLeftSide();
        }

        if (bubble.getIconView() == null) {
            return;
        }

        mBubbleContainer.addView(bubble.getIconView(), 0,
                new FrameLayout.LayoutParams(mPositioner.getBubbleSize(),
                        mPositioner.getBubbleSize()));

        if (getBubbleCount() == 0) {
            mStackOnLeftOrWillBe = mStackAnimationController.isStackOnLeftSide();
        }
        // Set the dot position to the opposite of the side the stack is resting on, since the stack
        // resting slightly off-screen would result in the dot also being off-screen.
        bubble.getIconView().setDotBadgeOnLeft(!mStackOnLeftOrWillBe /* onLeft */);
        bubble.getIconView().setOnClickListener(mBubbleClickListener);
        bubble.getIconView().setOnTouchListener(mBubbleTouchListener);
        mBubbleContainer.addView(bubble.getIconView(), 0,
                new FrameLayout.LayoutParams(mPositioner.getBubbleSize(),
                        mPositioner.getBubbleSize()));
        updateBubbleShadows(false /* showForAllBubbles */);
        animateInFlyoutForBubble(bubble);
        requestUpdate();
@@ -2400,7 +2400,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(),
@@ -2408,7 +2409,7 @@ public class BubbleStackView extends FrameLayout
                        mStackAnimationController.isStackOnLeftSide(),
                        bubble.getIconView().getDotColor() /* dotColor */,
                        expandFlyoutAfterDelay /* onLayoutComplete */,
                        mAfterFlyoutHidden,
                        mAfterFlyoutHidden /* onHide */,
                        bubble.getIconView().getDotCenter(),
                        !bubble.showDot(),
                        mPositioner);
+0 −3
Original line number Diff line number Diff line
@@ -124,9 +124,6 @@ public class StackAnimationController extends
     */
    private Rect mAnimatingToBounds = new Rect();

    /** Initial starting location for the stack. */
    @Nullable private BubbleStackView.RelativeStackPosition mStackStartPosition;

    /** Whether or not the stack's start position has been set. */
    private boolean mStackMovedToStartPosition = false;