OSDN Git Service

Fix notification contrast with transparent bg
authorLucas Dupin <dupin@google.com>
Fri, 23 Jun 2017 16:30:49 +0000 (09:30 -0700)
committerandroid-build-team Robot <android-build-team-robot@google.com>
Fri, 23 Jun 2017 20:49:27 +0000 (20:49 +0000)
Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java
Change-Id: I2f0595408be61acb8267bb7449486ee46f7aad19
Fixes: 62937149
(cherry picked from commit ddbaf84ac6eb4757a9e355dffd07c934bf102d6f)

packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java
packages/SystemUI/tests/src/com/android/systemui/statusbar/StatusBarIconViewTest.java

index 1a47e44..89694b3 100644 (file)
@@ -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
index 8e7ffdf..7b2071c 100644 (file)
@@ -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