From f0c528ab6ed64b3a551d555bf7cb77f39c571fd7 Mon Sep 17 00:00:00 2001 From: John Reck Date: Thu, 18 May 2023 18:10:26 -0400 Subject: Fix RippleDrawable alpha Alpha was being double-applied by being both handled in the shader and applied by the Paint. So change the Paint to not apply the alpha since the shader does it. Fixes: 272375156 Test: looked at ripples in dark & light theme, verified no visual change Change-Id: I6ca4d32a7a5735ce8ec418014d0318c29dd3c8bf --- core/res/res/values/colors_material.xml | 6 +++--- graphics/java/android/graphics/drawable/RippleDrawable.java | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/core/res/res/values/colors_material.xml b/core/res/res/values/colors_material.xml index a99ba152510e..5b0dd308d05f 100644 --- a/core/res/res/values/colors_material.xml +++ b/core/res/res/values/colors_material.xml @@ -72,9 +72,9 @@ .7 0.60 - 0.5 - 0.5 - 0.10 + 0.20 + 0.20 + 0.20 diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java index 4d0a05811dbf..641a2ae7b2c3 100644 --- a/graphics/java/android/graphics/drawable/RippleDrawable.java +++ b/graphics/java/android/graphics/drawable/RippleDrawable.java @@ -1013,7 +1013,8 @@ public class RippleDrawable extends LayerDrawable { } p.setShader(shader); p.setColorFilter(null); - p.setColor(color); + // Alpha is handled by the shader (and color is a no-op because there's a shader) + p.setColor(0xFF000000); return properties; } -- cgit v1.2.3-59-g8ed1b