Update shape for all bubbles

After theme change.

Test: manual
Bug: 123829494
Change-Id: I9eca25f19646607d85957f5113178619b7927dfe
This commit is contained in:
Lyn Han
2019-04-04 14:03:40 -07:00
parent dd07ae579c
commit 80b8011dce
2 changed files with 10 additions and 4 deletions

View File

@@ -303,6 +303,7 @@ public class BubbleStackView extends FrameLayout {
*/
public void onConfigChanged() {
for (Bubble b: mBubbleData.getBubbles()) {
b.iconView.updateViews();
b.expandedView.updateHeaderColor();
}
}

View File

@@ -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) {