Merge "Make sure the correct AnimatorListeners gets called"
diff --git a/core/java/android/animation/AnimatorSet.java b/core/java/android/animation/AnimatorSet.java
index 1065ed8..f7a7403 100644
--- a/core/java/android/animation/AnimatorSet.java
+++ b/core/java/android/animation/AnimatorSet.java
@@ -704,7 +704,7 @@
     }
 
 
-    private class AnimatorSetListener implements AnimatorListener {
+    private static class AnimatorSetListener implements AnimatorListener {
 
         private AnimatorSet mAnimatorSet;
 
@@ -714,7 +714,7 @@
 
         public void onAnimationCancel(Animator animation) {
 
-            if (!mTerminated) {
+            if (!mAnimatorSet.mTerminated) {
                 // Listeners are already notified of the AnimatorSet canceling in cancel().
                 // The logic below only kicks in when animations end normally
                 if (mAnimatorSet.mPlayingSet.size() == 0) {
@@ -736,7 +736,7 @@
             Node animNode = mAnimatorSet.mNodeMap.get(animation);
             animNode.mEnded = true;
 
-            if (!mTerminated) {
+            if (!mAnimatorSet.mTerminated) {
                 List<Node> children = animNode.mChildNodes;
                 // Start children animations, if any.
                 int childrenSize = children == null ? 0 : children.size();
@@ -749,9 +749,9 @@
                 // end(); the logic below only kicks in when animations end normally
                 boolean allDone = true;
                 // Traverse the tree and find if there's any unfinished node
-                int size = mNodes.size();
+                int size = mAnimatorSet.mNodes.size();
                 for (int i = 0; i < size; i++) {
-                    if (!mNodes.get(i).mEnded) {
+                    if (!mAnimatorSet.mNodes.get(i).mEnded) {
                         allDone = false;
                         break;
                     }
@@ -759,9 +759,9 @@
                 if (allDone) {
                     // If this was the last child animation to end, then notify listeners that this
                     // AnimatorSet has ended
-                    if (mListeners != null) {
+                    if (mAnimatorSet.mListeners != null) {
                         ArrayList<AnimatorListener> tmpListeners =
-                                (ArrayList<AnimatorListener>) mListeners.clone();
+                                (ArrayList<AnimatorListener>) mAnimatorSet.mListeners.clone();
                         int numListeners = tmpListeners.size();
                         for (int i = 0; i < numListeners; ++i) {
                             tmpListeners.get(i).onAnimationEnd(mAnimatorSet);