diff options
author | Lucas Dupin <dupin@google.com> | 2021-06-07 22:47:20 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-06-07 22:47:20 +0000 |
commit | 6e9adc7f5cf6adc660805e1cae436156f37acb3d (patch) | |
tree | bca4b07e5f86ea55d09eafb52cfd677f96a1d41b /graphics/java/android | |
parent | 46620933182d44ca45cd2f2f722db6ac36422f78 (diff) | |
parent | 562e3d6af1b72020030c431d314060a316a8b3e2 (diff) |
Merge "Isolate focus color filter" into sc-dev
Diffstat (limited to 'graphics/java/android')
-rw-r--r-- | graphics/java/android/graphics/drawable/RippleDrawable.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java index 73e65c2ec050..0d8715bfaef2 100644 --- a/graphics/java/android/graphics/drawable/RippleDrawable.java +++ b/graphics/java/android/graphics/drawable/RippleDrawable.java @@ -182,6 +182,7 @@ public class RippleDrawable extends LayerDrawable { private Canvas mMaskCanvas; private Matrix mMaskMatrix; private PorterDuffColorFilter mMaskColorFilter; + private PorterDuffColorFilter mFocusColorFilter; private boolean mHasValidMask; private int mComputedRadius = -1; @@ -938,7 +939,7 @@ public class RippleDrawable extends LayerDrawable { final int alpha = Math.min((int) (origAlpha * newOpacity + 0.5f), 255); if (alpha > 0) { ColorFilter origFilter = p.getColorFilter(); - p.setColorFilter(mMaskColorFilter); + p.setColorFilter(mFocusColorFilter); p.setAlpha(alpha); c.drawCircle(cx, cy, getComputedRadius(), p); p.setAlpha(origAlpha); @@ -1091,6 +1092,7 @@ public class RippleDrawable extends LayerDrawable { if (mMaskColorFilter == null) { mMaskColorFilter = new PorterDuffColorFilter(0, PorterDuff.Mode.SRC_IN); + mFocusColorFilter = new PorterDuffColorFilter(0, PorterDuff.Mode.SRC_IN); } // Draw the appropriate mask anchored to (0,0). @@ -1219,6 +1221,8 @@ public class RippleDrawable extends LayerDrawable { int maskColor = mState.mRippleStyle == STYLE_PATTERNED ? color : color | 0xFF000000; if (mMaskColorFilter.getColor() != maskColor) { mMaskColorFilter = new PorterDuffColorFilter(maskColor, mMaskColorFilter.getMode()); + mFocusColorFilter = new PorterDuffColorFilter(color | 0xFF000000, + mFocusColorFilter.getMode()); } p.setColor(color & 0xFF000000); p.setColorFilter(mMaskColorFilter); |