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

Commit 89c83994 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix advanced icon will incorrect on some device" into rvc-dev am:...

Merge "Fix advanced icon will incorrect on some device" into rvc-dev am: 40bdc176 am: 8494fdb1 am: 94ac1986 am: 5d3316d5

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11862404

Change-Id: I757177b83aea4a74b234e1344fbef03d1c81433b
parents 530e667e 5d3316d5
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -30,9 +30,7 @@ import android.graphics.Rect;
import android.graphics.drawable.AdaptiveIconDrawable;
import android.graphics.drawable.DrawableWrapper;
import android.os.RemoteException;
import android.util.DisplayMetrics;
import android.util.PathParser;
import android.view.Display;
import android.view.IWindowManager;
import android.view.WindowManagerGlobal;

@@ -47,6 +45,9 @@ import java.lang.annotation.RetentionPolicy;
 */
public class AdaptiveOutlineDrawable extends DrawableWrapper {

    private static final float ADVANCED_ICON_CENTER = 50f;
    private static final float ADVANCED_ICON_RADIUS = 48f;

    @Retention(RetentionPolicy.SOURCE)
    @IntDef({TYPE_DEFAULT, TYPE_ADVANCED})
    public @interface AdaptiveOutlineIconType {
@@ -61,7 +62,6 @@ public class AdaptiveOutlineDrawable extends DrawableWrapper {
    private int mStrokeWidth;
    private Bitmap mBitmap;
    private int mType;
    private float mDensity;

    public AdaptiveOutlineDrawable(Resources resources, Bitmap bitmap) {
        super(new AdaptiveIconShapeDrawable(resources));
@@ -83,7 +83,6 @@ public class AdaptiveOutlineDrawable extends DrawableWrapper {
        mPath = new Path(PathParser.createPathFromPathData(
                resources.getString(com.android.internal.R.string.config_icon_mask)));
        mStrokeWidth = resources.getDimensionPixelSize(R.dimen.adaptive_outline_stroke);
        mDensity = resources.getDisplayMetrics().density;
        mOutlinePaint = new Paint();
        mOutlinePaint.setColor(getColor(resources, type));
        mOutlinePaint.setStyle(Paint.Style.STROKE);
@@ -137,12 +136,7 @@ public class AdaptiveOutlineDrawable extends DrawableWrapper {
        if (mType == TYPE_DEFAULT) {
            canvas.drawPath(mPath, mOutlinePaint);
        } else {
            final float defaultDensity = getDefaultDisplayDensity(Display.DEFAULT_DISPLAY)
                    / (float) DisplayMetrics.DENSITY_DEFAULT;
            final int insetPx =
                    Math.round(mInsetPx / (float) (Math.floor(
                            (mDensity / defaultDensity) * 100) / 100.0));
            canvas.drawCircle(2 * insetPx, 2 * insetPx, 2 * insetPx - mStrokeWidth,
            canvas.drawCircle(ADVANCED_ICON_CENTER, ADVANCED_ICON_CENTER, ADVANCED_ICON_RADIUS,
                    mOutlinePaint);
        }
        canvas.restoreToCount(count);