Use different bg drawable for settings/history btn
This prevents the ripple touch effect from being shown on the history
button when the settings button is pressed.
Fix: 376634475
Bug: 375010573
Flag: com.android.systemui.notifications_redesign_footer_view
Test: press settings button and see that history button stays the same
Change-Id: Ifda076b8837704b84e5175cfc70a606e79eda78c
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java
index 96f47e5..a0515ca 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/footer/ui/view/FooterView.java
@@ -459,8 +459,12 @@
Resources.Theme theme = mContext.getTheme();
final @ColorInt int onSurface = Utils.getColorAttrDefaultColor(mContext,
com.android.internal.R.attr.materialColorOnSurface);
+ // Same resource, separate drawables to prevent touch effects from showing on the wrong
+ // button.
final Drawable clearAllBg = theme.getDrawable(R.drawable.notif_footer_btn_background);
- final Drawable manageBg = theme.getDrawable(R.drawable.notif_footer_btn_background);
+ final Drawable settingsBg = theme.getDrawable(R.drawable.notif_footer_btn_background);
+ final Drawable historyBg = NotifRedesignFooter.isEnabled()
+ ? theme.getDrawable(R.drawable.notif_footer_btn_background) : null;
final @ColorInt int scHigh;
if (!notificationFooterBackgroundTintOptimization()) {
scHigh = Utils.getColorAttrDefaultColor(mContext,
@@ -468,7 +472,10 @@
if (scHigh != 0) {
final ColorFilter bgColorFilter = new PorterDuffColorFilter(scHigh, SRC_ATOP);
clearAllBg.setColorFilter(bgColorFilter);
- manageBg.setColorFilter(bgColorFilter);
+ settingsBg.setColorFilter(bgColorFilter);
+ if (NotifRedesignFooter.isEnabled()) {
+ historyBg.setColorFilter(bgColorFilter);
+ }
}
} else {
scHigh = 0;
@@ -476,13 +483,13 @@
mClearAllButton.setBackground(clearAllBg);
mClearAllButton.setTextColor(onSurface);
if (NotifRedesignFooter.isEnabled()) {
- mSettingsButton.setBackground(manageBg);
+ mSettingsButton.setBackground(settingsBg);
mSettingsButton.setCompoundDrawableTintList(ColorStateList.valueOf(onSurface));
- mHistoryButton.setBackground(manageBg);
+ mHistoryButton.setBackground(historyBg);
mHistoryButton.setCompoundDrawableTintList(ColorStateList.valueOf(onSurface));
} else {
- mManageOrHistoryButton.setBackground(manageBg);
+ mManageOrHistoryButton.setBackground(settingsBg);
mManageOrHistoryButton.setTextColor(onSurface);
}
mSeenNotifsFooterTextView.setTextColor(onSurface);
@@ -492,7 +499,7 @@
colorUpdateLogger.logEvent("Footer.updateColors()",
"textColor(onSurface)=" + hexColorString(onSurface)
+ " backgroundTint(surfaceContainerHigh)=" + hexColorString(scHigh)
- + " background=" + DrawableDumpKt.dumpToString(manageBg));
+ + " background=" + DrawableDumpKt.dumpToString(settingsBg));
}
}