Prevent infinite loop in the Phone UI.
diff --git a/core/java/android/view/animation/Animation.java b/core/java/android/view/animation/Animation.java
index 337fe58..349b7e5 100644
--- a/core/java/android/view/animation/Animation.java
+++ b/core/java/android/view/animation/Animation.java
@@ -281,8 +281,8 @@
      */
     public void detach() {
         if (mStarted && !mEnded) {
-            if (mListener != null) mListener.onAnimationEnd(this);
             mEnded = true;
+            if (mListener != null) mListener.onAnimationEnd(this);
         }
     }
 
@@ -776,10 +776,10 @@
         if (expired) {
             if (mRepeatCount == mRepeated) {
                 if (!mEnded) {
+                    mEnded = true;
                     if (mListener != null) {
                         mListener.onAnimationEnd(this);
                     }
-                    mEnded = true;
                 }
             } else {
                 if (mRepeatCount > 0) {