Merge "Fix drawing the ring around adaptive app icons" into tm-qpr-dev am: 37e943894d

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

Change-Id: Ibd065939b52793ea7211617a8b283cdb064d1a08
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Mady Mellor
2022-12-09 18:29:11 +00:00
committed by Automerger Merge Worker

View File

@@ -19,7 +19,6 @@ package com.android.wm.shell.bubbles;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Path;
import android.graphics.Rect;
import android.graphics.drawable.AdaptiveIconDrawable;
@@ -59,7 +58,8 @@ public class BubbleBadgeIconFactory extends BaseIconFactory {
private class CircularRingDrawable extends CircularAdaptiveIcon {
final int mImportantConversationColor;
final Rect mTempBounds = new Rect();
final int mRingWidth;
final Rect mInnerBounds = new Rect();
final Drawable mDr;
@@ -68,6 +68,8 @@ public class BubbleBadgeIconFactory extends BaseIconFactory {
mDr = dr;
mImportantConversationColor = mContext.getResources().getColor(
R.color.important_conversation, null);
mRingWidth = mContext.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.importance_ring_stroke_width);
}
@Override
@@ -75,11 +77,10 @@ public class BubbleBadgeIconFactory extends BaseIconFactory {
int save = canvas.save();
canvas.clipPath(getIconMask());
canvas.drawColor(mImportantConversationColor);
int ringStrokeWidth = mContext.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.importance_ring_stroke_width);
mTempBounds.set(getBounds());
mTempBounds.inset(ringStrokeWidth, ringStrokeWidth);
mDr.setBounds(mTempBounds);
mInnerBounds.set(getBounds());
mInnerBounds.inset(mRingWidth, mRingWidth);
canvas.translate(mInnerBounds.left, mInnerBounds.top);
mDr.setBounds(0, 0, mInnerBounds.width(), mInnerBounds.height());
mDr.draw(canvas);
canvas.restoreToCount(save);
}
@@ -106,7 +107,6 @@ public class BubbleBadgeIconFactory extends BaseIconFactory {
int save = canvas.save();
canvas.clipPath(getIconMask());
canvas.drawColor(Color.BLACK);
Drawable d;
if ((d = getBackground()) != null) {
d.draw(canvas);