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

Commit 291cbef9 authored by Abhishek Aggarwal's avatar Abhishek Aggarwal
Browse files

DotRenderer: Add shadow to notification dots

parent 213e7fdf
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -49,6 +49,8 @@ public class DotRenderer {

    private final float mCircleRadius;
    private final Paint mCirclePaint = new Paint(ANTI_ALIAS_FLAG | FILTER_BITMAP_FLAG);
    private final Paint mCircleShadowPaint = new Paint(ANTI_ALIAS_FLAG | FILTER_BITMAP_FLAG);

    private final Paint mTextPaint = new Paint(ANTI_ALIAS_FLAG | FILTER_BITMAP_FLAG);

    private final Bitmap mBackgroundWithShadow;
@@ -158,11 +160,15 @@ public class DotRenderer {
        canvas.scale(params.scale, params.scale);

        mCirclePaint.setColor(params.dotColor);
        mCircleShadowPaint.setColor(params.shadowDotColor);
        if (numNotifications > 9 && numNotifications < 100) {
            canvas.drawRoundRect(new RectF(-mCircleRadius - 10, -mCircleRadius, mCircleRadius + 10, mCircleRadius + 3), 50, 50, mCircleShadowPaint);
            canvas.drawRoundRect(new RectF(-mCircleRadius - 10, -mCircleRadius, mCircleRadius + 10, mCircleRadius), 50, 50, mCirclePaint);
        } else if (numNotifications > 99 && numNotifications < 1000) {
            canvas.drawRoundRect(new RectF(-mCircleRadius - 20, -mCircleRadius, mCircleRadius + 20, mCircleRadius + 3), 50, 50, mCircleShadowPaint);
            canvas.drawRoundRect(new RectF(-mCircleRadius - 20, -mCircleRadius, mCircleRadius + 20, mCircleRadius), 50, 50, mCirclePaint);
        } else {
            canvas.drawCircle(0, 3, mCircleRadius, mCircleShadowPaint);
            canvas.drawCircle(0, 0, mCircleRadius, mCirclePaint);
        }

@@ -215,6 +221,8 @@ public class DotRenderer {
        /** Whether the dot should align to the top left of the icon rather than the top right. */
        @ViewDebug.ExportedProperty(category = "notification dot")
        public boolean leftAlign;
        @ViewDebug.ExportedProperty(category = "notification dot", formatToHexString = true)
        public int shadowDotColor;
    }

    /**