diff options
author | John Reck <jreck@google.com> | 2021-06-16 15:48:33 -0400 |
---|---|---|
committer | John Reck <jreck@google.com> | 2021-06-16 15:48:33 -0400 |
commit | 85933d4c5585ce09d2c0f2617efed2c7f1f7be22 (patch) | |
tree | b04c7247d63624af269af36e9ab05d604323e01b /graphics/java | |
parent | e6eed176fc5759ffa96dceacc6124d5cbda75770 (diff) |
Fix ripples not going away
Fixes: 191141356
Test: ripples on calculator
Change-Id: Icabf80914c5ba9c0649e69ef0fa67c03d6ad5cdd
Diffstat (limited to 'graphics/java')
-rw-r--r-- | graphics/java/android/graphics/drawable/RippleDrawable.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java index fe80b5845bf5..1651a8cdcad5 100644 --- a/graphics/java/android/graphics/drawable/RippleDrawable.java +++ b/graphics/java/android/graphics/drawable/RippleDrawable.java @@ -221,6 +221,7 @@ public class RippleDrawable extends LayerDrawable { private boolean mForceSoftware; // Patterned + private boolean mAddRipple = false; private float mTargetBackgroundOpacity; private ValueAnimator mBackgroundAnimation; private float mBackgroundOpacity; @@ -716,6 +717,7 @@ public class RippleDrawable extends LayerDrawable { } cancelExitingRipples(); + exitPatternedAnimation(); } @Override @@ -807,7 +809,7 @@ public class RippleDrawable extends LayerDrawable { } private void startPatternedAnimation() { - mRippleActive = true; + mAddRipple = true; invalidateSelf(false); } @@ -862,17 +864,17 @@ public class RippleDrawable extends LayerDrawable { h = bounds.height(); w = bounds.width(); } - boolean shouldAnimate = mRippleActive; + boolean addRipple = mAddRipple; boolean shouldExit = mExitingAnimation; - mRippleActive = false; mExitingAnimation = false; - if (mRunningAnimations.size() > 0 && !shouldAnimate) { + mAddRipple = false; + if (mRunningAnimations.size() > 0 && !addRipple) { // update paint when view is invalidated getRipplePaint(); } drawContent(canvas); drawPatternedBackground(canvas, cx, cy); - if (shouldAnimate && mRunningAnimations.size() <= MAX_RIPPLES) { + if (addRipple && mRunningAnimations.size() <= MAX_RIPPLES) { RippleAnimationSession.AnimationProperties<Float, Paint> properties = createAnimationProperties(x, y, cx, cy, w, h); mRunningAnimations.add(new RippleAnimationSession(properties, !useCanvasProps) |