From 0ea7ddddc5f6bb88a11f62a4873a930e0a0a8f7b Mon Sep 17 00:00:00 2001 From: Samuel Fufa Date: Fri, 31 Jan 2020 18:03:57 -0800 Subject: [PATCH] Fix notification dot for predicted hotseat icons Bug: 148232056 Test: Manual Change-Id: I34660eff089ce2f95ceebde143f22b1ef729ea09 --- .../launcher3/uioverrides/PredictedAppIcon.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/PredictedAppIcon.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/PredictedAppIcon.java index bd8962652c..b2e1798453 100644 --- a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/PredictedAppIcon.java +++ b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/PredictedAppIcon.java @@ -47,6 +47,7 @@ public class PredictedAppIcon extends DoubleShadowBubbleTextView { private static final float RING_EFFECT_RATIO = 0.11f; + boolean mIsDrawingDot = false; private final DeviceProfile mDeviceProfile; private final Paint mIconRingPaint = new Paint(Paint.ANTI_ALIAS_FLAG); private boolean mIsPinned = false; @@ -80,6 +81,16 @@ public class PredictedAppIcon extends DoubleShadowBubbleTextView { canvas.restoreToCount(count); } + @Override + protected void drawDotIfNecessary(Canvas canvas) { + mIsDrawingDot = true; + int count = canvas.save(); + canvas.translate(-getWidth() * RING_EFFECT_RATIO, -getHeight() * RING_EFFECT_RATIO); + super.drawDotIfNecessary(canvas); + canvas.restoreToCount(count); + mIsDrawingDot = false; + } + @Override public void applyFromWorkspaceItem(WorkspaceItemInfo info) { super.applyFromWorkspaceItem(info); @@ -112,7 +123,7 @@ public class PredictedAppIcon extends DoubleShadowBubbleTextView { @Override public void getIconBounds(Rect outBounds) { super.getIconBounds(outBounds); - if (!mIsPinned) { + if (!mIsPinned && !mIsDrawingDot) { int predictionInset = (int) (getIconSize() * RING_EFFECT_RATIO); outBounds.inset(predictionInset, predictionInset); }