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

Commit dfe4f3fe authored by Evan Laird's avatar Evan Laird
Browse files

Round mobile icon slash and fix color

Airplane mode slashed mobile signal icon should be rounded. Also it was
drawing in the foreground color instead of background. That was bad.

Test: visual
Change-Id: Ie7137929e1b54118482b0990e3d86ccb0f620e56
Fixes: 63533582
parent 5a0958ed
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -33,11 +33,12 @@ import android.graphics.PorterDuff.Mode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.util.FloatProperty;

public class SlashDrawable extends Drawable {

    public static final float CORNER_RADIUS = 1f;

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

@@ -141,8 +142,8 @@ public class SlashDrawable extends Drawable {
        Matrix m = new Matrix();
        final int width = getBounds().width();
        final int height = getBounds().height();
        final float radiusX = scale(1f, width);
        final float radiusY = scale(1f, height);
        final float radiusX = scale(CORNER_RADIUS, width);
        final float radiusY = scale(CORNER_RADIUS, height);
        updateRect(
                scale(LEFT, width),
                scale(TOP, height),
+7 −6
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ import android.util.LayoutDirection;

import com.android.settingslib.R;
import com.android.settingslib.Utils;
import com.android.systemui.qs.SlashDrawable;

public class SignalDrawable extends Drawable {

@@ -333,10 +334,9 @@ public class SignalDrawable extends Drawable {
            mForegroundPath.reset();
            mFullPath.op(mCutPath, Path.Op.DIFFERENCE);
        } else if (mState == STATE_AIRPLANE) {
            // Airplane mode is slashed, full-signal
            mForegroundPath.set(mFullPath);
            mFullPath.reset();
            mSlash.draw((int) height, (int) width, canvas, mForegroundPaint);
            // Airplane mode is slashed, fully drawn background
            mForegroundPath.reset();
            mSlash.draw((int) height, (int) width, canvas, mPaint);
        } else if (mState != STATE_CARRIER_CHANGE) {
            mForegroundPath.reset();
            int sigWidth = Math.round(calcFit(mLevel / (mNumLevels - 1)) * (width - 2 * padding));
@@ -473,6 +473,7 @@ public class SignalDrawable extends Drawable {

        void draw(int height, int width, @NonNull Canvas canvas, Paint paint) {
            Matrix m = new Matrix();
            final float radius = scale(SlashDrawable.CORNER_RADIUS, width);
            updateRect(
                    scale(LEFT, width),
                    scale(TOP, height),
@@ -481,7 +482,7 @@ public class SignalDrawable extends Drawable {

            mPath.reset();
            // Draw the slash vertically
            mPath.addRect(mSlashRect, Direction.CW);
            mPath.addRoundRect(mSlashRect, radius, radius, Direction.CW);
            m.setRotate(ROTATION, width / 2, height / 2);
            mPath.transform(m);
            canvas.drawPath(mPath, paint);
@@ -491,7 +492,7 @@ public class SignalDrawable extends Drawable {
            mPath.transform(m);
            m.setTranslate(mSlashRect.width(), 0);
            mPath.transform(m);
            mPath.addRect(mSlashRect, Direction.CW);
            mPath.addRoundRect(mSlashRect, radius, radius, Direction.CW);
            m.setRotate(ROTATION, width / 2, height / 2);
            mPath.transform(m);
            canvas.clipOutPath(mPath);