From 3bf20268d82791ee538ce9df456646611f274181 Mon Sep 17 00:00:00 2001 From: Lyn Han Date: Thu, 11 Mar 2021 15:07:54 -0600 Subject: [PATCH] Set notification shelf icon color to primary text color Bug: 182486170 Test: icons update color with dark/light theme change Change-Id: I3e6e3c1c7427ccdce5b42242d475501d33f4dda0 --- .../statusbar/phone/NotificationIconContainer.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java index 89b97aef62831..6b144c652c565 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java @@ -28,6 +28,7 @@ import android.graphics.Rect; import android.graphics.drawable.Icon; import android.util.AttributeSet; import android.util.Property; +import android.view.ContextThemeWrapper; import android.view.View; import android.view.animation.Interpolator; @@ -35,6 +36,7 @@ import androidx.collection.ArrayMap; import com.android.internal.statusbar.StatusBarIcon; import com.android.keyguard.KeyguardUpdateMonitor; +import com.android.settingslib.Utils; import com.android.systemui.Interpolators; import com.android.systemui.R; import com.android.systemui.statusbar.AlphaOptimizedFrameLayout; @@ -168,6 +170,7 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout { private Rect mIsolatedIconLocation; private int[] mAbsolutePosition = new int[2]; private View mIsolatedIconForAnimation; + private int mThemedTextColorPrimary; public NotificationIconContainer(Context context, AttributeSet attrs) { super(context, attrs); @@ -179,6 +182,10 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout { mDotPadding = getResources().getDimensionPixelSize(R.dimen.overflow_icon_dot_padding); mStaticDotRadius = getResources().getDimensionPixelSize(R.dimen.overflow_dot_radius); mStaticDotDiameter = 2 * mStaticDotRadius; + final Context themedContext = new ContextThemeWrapper(getContext(), + com.android.internal.R.style.Theme_DeviceDefault_DayNight); + mThemedTextColorPrimary = Utils.getColorAttr(themedContext, + com.android.internal.R.attr.textColorPrimary).getDefaultColor(); } @Override @@ -806,7 +813,8 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout { } } icon.setVisibleState(visibleState, animationsAllowed); - icon.setIconColor(iconColor, needsCannedAnimation && animationsAllowed); + icon.setIconColor(mThemedTextColorPrimary, + needsCannedAnimation && animationsAllowed); if (animate) { animateTo(icon, animationProperties); } else {