diff --git a/core/java/android/view/ViewPropertyAnimator.java b/core/java/android/view/ViewPropertyAnimator.java index f18b7acf64f0d..c604234fa5778 100644 --- a/core/java/android/view/ViewPropertyAnimator.java +++ b/core/java/android/view/ViewPropertyAnimator.java @@ -1110,6 +1110,13 @@ public class ViewPropertyAnimator { @Override public void onAnimationEnd(Animator animation) { mView.setHasTransientState(false); + if (mAnimatorCleanupMap != null) { + Runnable r = mAnimatorCleanupMap.get(animation); + if (r != null) { + r.run(); + } + mAnimatorCleanupMap.remove(animation); + } if (mListener != null) { mListener.onAnimationEnd(animation); } @@ -1120,13 +1127,6 @@ public class ViewPropertyAnimator { } mAnimatorOnEndMap.remove(animation); } - if (mAnimatorCleanupMap != null) { - Runnable r = mAnimatorCleanupMap.get(animation); - if (r != null) { - r.run(); - } - mAnimatorCleanupMap.remove(animation); - } mAnimatorMap.remove(animation); }