From a2362c9251af9d27506aa12f49da42e019665555 Mon Sep 17 00:00:00 2001 From: Alan Viverette Date: Thu, 4 Sep 2014 12:16:40 -0700 Subject: Clear ripple animations on cancel/end This prevents subsequent calls to end() from snapping the background opacity (among others) back to 1. BUG: 17357749 BUG: 17349157 Change-Id: I2a4870ed588ba98986428983bf29b556cdc9a701 --- graphics/java/android/graphics/drawable/Ripple.java | 8 ++++++++ graphics/java/android/graphics/drawable/RippleBackground.java | 2 ++ 2 files changed, 10 insertions(+) (limited to 'graphics/java/android') diff --git a/graphics/java/android/graphics/drawable/Ripple.java b/graphics/java/android/graphics/drawable/Ripple.java index cd919a627f35..43922b8e3f6a 100644 --- a/graphics/java/android/graphics/drawable/Ripple.java +++ b/graphics/java/android/graphics/drawable/Ripple.java @@ -419,18 +419,22 @@ class Ripple { private void endSoftwareAnimations() { if (mAnimRadius != null) { mAnimRadius.end(); + mAnimRadius = null; } if (mAnimOpacity != null) { mAnimOpacity.end(); + mAnimOpacity = null; } if (mAnimX != null) { mAnimX.end(); + mAnimX = null; } if (mAnimY != null) { mAnimY.end(); + mAnimY = null; } } @@ -506,18 +510,22 @@ class Ripple { private void cancelSoftwareAnimations() { if (mAnimRadius != null) { mAnimRadius.cancel(); + mAnimRadius = null; } if (mAnimOpacity != null) { mAnimOpacity.cancel(); + mAnimOpacity = null; } if (mAnimX != null) { mAnimX.cancel(); + mAnimX = null; } if (mAnimY != null) { mAnimY.cancel(); + mAnimY = null; } } diff --git a/graphics/java/android/graphics/drawable/RippleBackground.java b/graphics/java/android/graphics/drawable/RippleBackground.java index 4e68a60f36a4..80ecea32749b 100644 --- a/graphics/java/android/graphics/drawable/RippleBackground.java +++ b/graphics/java/android/graphics/drawable/RippleBackground.java @@ -326,6 +326,7 @@ class RippleBackground { private void endSoftwareAnimations() { if (mAnimOuterOpacity != null) { mAnimOuterOpacity.end(); + mAnimOuterOpacity = null; } } @@ -413,6 +414,7 @@ class RippleBackground { private void cancelSoftwareAnimations() { if (mAnimOuterOpacity != null) { mAnimOuterOpacity.cancel(); + mAnimOuterOpacity = null; } } -- cgit v1.2.3-59-g8ed1b