diff --git a/core/java/android/animation/Animator.java b/core/java/android/animation/Animator.java index 71b6d99c91724..717fc0aac03ea 100755 --- a/core/java/android/animation/Animator.java +++ b/core/java/android/animation/Animator.java @@ -669,6 +669,7 @@ public class Animator extends Animatable { setCurrentPlayTime(getCurrentPlayTime()); } mPlayingState = STOPPED; + mStartedDelay = false; sPendingAnimations.add(this); if (sAnimationHandler == null) { sAnimationHandler = new AnimationHandler(); diff --git a/core/java/android/animation/Sequencer.java b/core/java/android/animation/Sequencer.java index a9e4e3bbf7ddd..63ec94078dd9b 100644 --- a/core/java/android/animation/Sequencer.java +++ b/core/java/android/animation/Sequencer.java @@ -233,6 +233,10 @@ public final class Sequencer extends Animatable { @Override public void end() { mCanceled = true; + if (mSortedNodes.size() != mNodes.size()) { + // hasn't been started yet - sort the nodes now, then end them + sortNodes(); + } if (mSortedNodes.size() > 0) { for (Node node : mSortedNodes) { node.animation.end();