diff --git a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java index 00c92fa573673..a9ebf218a2560 100644 --- a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java +++ b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java @@ -152,7 +152,7 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { @Override public void draw(Canvas canvas) { mAnimatedVectorState.mVectorDrawable.draw(canvas); - if (isRunning()) { + if (isStarted()) { invalidateSelf(); } } @@ -306,13 +306,25 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { return false; } + private boolean isStarted() { + final ArrayList animators = mAnimatedVectorState.mAnimators; + final int size = animators.size(); + for (int i = 0; i < size; i++) { + final Animator animator = animators.get(i); + if (animator.isStarted()) { + return true; + } + } + return false; + } + @Override public void start() { final ArrayList animators = mAnimatedVectorState.mAnimators; final int size = animators.size(); for (int i = 0; i < size; i++) { final Animator animator = animators.get(i); - if (!animator.isRunning()) { + if (!animator.isStarted()) { animator.start(); } }