From ddbaf84ac6eb4757a9e355dffd07c934bf102d6f Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Fri, 23 Jun 2017 09:30:49 -0700 Subject: [PATCH] Fix notification contrast with transparent bg Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java Change-Id: I2f0595408be61acb8267bb7449486ee46f7aad19 Fixes: 62937149 --- .../com/android/systemui/statusbar/StatusBarIconView.java | 3 ++- .../android/systemui/statusbar/StatusBarIconViewTest.java | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java index 1a47e4428e490..89694b33e0353 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java @@ -601,7 +601,8 @@ public class StatusBarIconView extends AnimatedImageView { } private void updateContrastedStaticColor() { - if (mCachedContrastBackgroundColor == NO_COLOR) { + if (Color.alpha(mCachedContrastBackgroundColor) != 255) { + mContrastedDrawableColor = mDrawableColor; return; } // We'll modify the color if it doesn't pass GAR diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java index 8e7ffdfd4b475..7b2071ca14fd6 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java @@ -116,5 +116,10 @@ public class StatusBarIconViewTest extends SysuiTestCase { color = mIconView.getContrastedStaticDrawableColor(Color.WHITE); assertTrue("Similar colors should be shifted to satisfy contrast", NotificationColorUtil.satisfiesTextContrast(Color.WHITE, color)); + + mIconView.setStaticDrawableColor(Color.GREEN); + color = mIconView.getContrastedStaticDrawableColor(0xcc000000); + assertEquals("Transparent backgrounds should fallback to drawable color", + color, mIconView.getStaticDrawableColor()); } } \ No newline at end of file