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

Commit 0eb2ee27 authored by Mykola Podolian's avatar Mykola Podolian Committed by Android (Google) Code Review
Browse files

Merge "Fixed bubble badge position on stack move." into main

parents d758a6bb 364c73a9
Loading
Loading
Loading
Loading
+13 −11
Original line number Diff line number Diff line
@@ -82,8 +82,8 @@ public class BadgedImageView extends ConstraintLayout {

    private BubbleViewProvider mBubble;
    private BubblePositioner mPositioner;
    private boolean mOnLeft;

    private boolean mBadgeOnLeft;
    private boolean mDotOnLeft;
    private DotRenderer mDotRenderer;
    private DotRenderer.DrawParams mDrawParams;
    private int mDotColor;
@@ -153,7 +153,8 @@ public class BadgedImageView extends ConstraintLayout {

    public void hideDotAndBadge(boolean onLeft) {
        addDotSuppressionFlag(BadgedImageView.SuppressionFlag.BEHIND_STACK);
        mOnLeft = onLeft;
        mBadgeOnLeft = onLeft;
        mDotOnLeft = onLeft;
        hideBadge();
    }

@@ -185,7 +186,7 @@ public class BadgedImageView extends ConstraintLayout {

        mDrawParams.dotColor = mDotColor;
        mDrawParams.iconBounds = mTempBounds;
        mDrawParams.leftAlign = mOnLeft;
        mDrawParams.leftAlign = mDotOnLeft;
        mDrawParams.scale = mDotScale;

        mDotRenderer.draw(canvas, mDrawParams);
@@ -255,7 +256,7 @@ public class BadgedImageView extends ConstraintLayout {
     * Whether decorations (badges or dots) are on the left.
     */
    boolean getDotOnLeft() {
        return mOnLeft;
        return mDotOnLeft;
    }

    /**
@@ -263,7 +264,7 @@ public class BadgedImageView extends ConstraintLayout {
     */
    float[] getDotCenter() {
        float[] dotPosition;
        if (mOnLeft) {
        if (mDotOnLeft) {
            dotPosition = mDotRenderer.getLeftDotPosition();
        } else {
            dotPosition = mDotRenderer.getRightDotPosition();
@@ -291,22 +292,23 @@ public class BadgedImageView extends ConstraintLayout {
        if (onLeft != getDotOnLeft()) {
            if (shouldDrawDot()) {
                animateDotScale(0f /* showDot */, () -> {
                    mOnLeft = onLeft;
                    mDotOnLeft = onLeft;
                    invalidate();
                    animateDotScale(1.0f, null /* after */);
                });
            } else {
                mOnLeft = onLeft;
                mDotOnLeft = onLeft;
            }
        }
        mBadgeOnLeft = onLeft;
        // TODO animate badge
        showBadge();

    }

    /** Sets the position of the dot and badge. */
    void setDotBadgeOnLeft(boolean onLeft) {
        mOnLeft = onLeft;
        mBadgeOnLeft = onLeft;
        mDotOnLeft = onLeft;
        invalidate();
        showBadge();
    }
@@ -361,7 +363,7 @@ public class BadgedImageView extends ConstraintLayout {
        }

        int translationX;
        if (mOnLeft) {
        if (mBadgeOnLeft) {
            translationX = -(mBubble.getBubbleIcon().getWidth() - appBadgeBitmap.getWidth());
        } else {
            translationX = 0;