diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 94ff15eb62bad..da48f403656bc 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -8192,7 +8192,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility */ public void clearAnimation() { if (mCurrentAnimation != null) { - mCurrentAnimation.cancel(); + mCurrentAnimation.detach(); } mCurrentAnimation = null; } diff --git a/core/java/android/view/animation/Animation.java b/core/java/android/view/animation/Animation.java index a28c784d01cd2..4af1c8905a3da 100644 --- a/core/java/android/view/animation/Animation.java +++ b/core/java/android/view/animation/Animation.java @@ -277,6 +277,16 @@ public abstract class Animation implements Cloneable { mMore = mOneMoreTime = false; } + /** + * @hide + */ + public void detach() { + if (mStarted && !mEnded) { + if (mListener != null) mListener.onAnimationEnd(this); + mEnded = true; + } + } + /** * Whether or not the animation has been initialized. *