diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 889985ae9d71d..fb19dcf0b11f1 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -8282,7 +8282,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 ad98259626349..337fe5808c765 100644 --- a/core/java/android/view/animation/Animation.java +++ b/core/java/android/view/animation/Animation.java @@ -276,6 +276,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. *