From 80b8011dce14625be838ccdb4d89af0a6775e10c Mon Sep 17 00:00:00 2001 From: Lyn Han Date: Thu, 4 Apr 2019 14:03:40 -0700 Subject: [PATCH] Update shape for all bubbles After theme change. Test: manual Bug: 123829494 Change-Id: I9eca25f19646607d85957f5113178619b7927dfe --- .../android/systemui/bubbles/BubbleStackView.java | 1 + .../com/android/systemui/bubbles/BubbleView.java | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java index de4605b552722..6f2ad1da713bf 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java @@ -303,6 +303,7 @@ public class BubbleStackView extends FrameLayout { */ public void onConfigChanged() { for (Bubble b: mBubbleData.getBubbles()) { + b.iconView.updateViews(); b.expandedView.updateHeaderColor(); } } diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleView.java index 84b86bf9b69f6..2681b6d0c8913 100644 --- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleView.java +++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleView.java @@ -159,7 +159,7 @@ public class BubbleView extends FrameLayout { } } - private void updateViews() { + void updateViews() { if (mEntry == null) { return; } @@ -186,6 +186,13 @@ public class BubbleView extends FrameLayout { } private Drawable buildIconWithTint(Drawable iconDrawable, int backgroundColor) { + iconDrawable = checkTint(iconDrawable, backgroundColor); + InsetDrawable foreground = new InsetDrawable(iconDrawable, mIconInset); + ColorDrawable background = new ColorDrawable(backgroundColor); + return new AdaptiveIconDrawable(background, foreground); + } + + private Drawable checkTint(Drawable iconDrawable, int backgroundColor) { backgroundColor = ColorUtils.setAlphaComponent(backgroundColor, 255 /* alpha */); if (backgroundColor == Color.TRANSPARENT) { // ColorUtils throws exception when background is translucent. @@ -197,9 +204,7 @@ public class BubbleView extends FrameLayout { int dark = ColorUtils.setAlphaComponent(Color.BLACK, DARK_ICON_ALPHA); iconDrawable.setTint(dark); } - InsetDrawable foreground = new InsetDrawable(iconDrawable, mIconInset); - ColorDrawable background = new ColorDrawable(backgroundColor); - return new AdaptiveIconDrawable(background, foreground); + return iconDrawable; } private int determineDominateColor(Drawable d, int defaultTint) {