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

Commit 5c932fd0 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 11944020 from 5e723652 to 24Q3-release

Change-Id: Ia3086492db082ec21b91e33b8dfb8a771f30867b
parents 230f1027 5e723652
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -30,9 +30,11 @@ import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.DrawableWrapper;

import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.core.graphics.ColorUtils;

/**
 * A drawable used for drawing user badge. It draws a circle around the actual badge,
@@ -47,7 +49,8 @@ public class UserBadgeDrawable extends DrawableWrapper {
    private static final float SHADOW_RADIUS = 11.5f;
    private static final float SHADOW_OFFSET_Y = 0.25f;

    private static final int SHADOW_COLOR = 0x11000000;
    @VisibleForTesting
    static final int SHADOW_COLOR = 0x11000000;

    private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);

@@ -90,10 +93,10 @@ public class UserBadgeDrawable extends DrawableWrapper {
            canvas.translate(b.left, b.top);
            canvas.scale(b.width() / VIEWPORT_SIZE, b.height() / VIEWPORT_SIZE);

            mPaint.setColor(SHADOW_COLOR);
            mPaint.setColor(blendDrawableAlpha(SHADOW_COLOR));
            canvas.drawCircle(CENTER, CENTER + SHADOW_OFFSET_Y, SHADOW_RADIUS, mPaint);

            mPaint.setColor(mBgColor);
            mPaint.setColor(blendDrawableAlpha(mBgColor));
            canvas.drawCircle(CENTER, CENTER, BG_RADIUS, mPaint);

            canvas.restoreToCount(saveCount);
@@ -101,6 +104,11 @@ public class UserBadgeDrawable extends DrawableWrapper {
        super.draw(canvas);
    }

    private @ColorInt int blendDrawableAlpha(@ColorInt int color) {
        int alpha = (int) (Color.valueOf(color).alpha() * getAlpha());
        return ColorUtils.setAlphaComponent(color, alpha);
    }

    @Override
    public void setColorFilter(@Nullable ColorFilter filter) {
        if (filter == null) {