diff options
author | Doris Liu <tianliu@google.com> | 2015-05-12 17:32:21 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-05-12 17:32:30 +0000 |
commit | 4b403557bca7b622c187c3b06814e2118ec7d985 (patch) | |
tree | efb393bb60c5cd32c6f10fac9874b02d5981eb5c /graphics | |
parent | 03064e25b284d7ee99563658c5966ee590f925f6 (diff) | |
parent | 56ef127df75164243a21df10771e7c77c8ef2e24 (diff) | |
download | frameworks_base-4b403557bca7b622c187c3b06814e2118ec7d985.zip frameworks_base-4b403557bca7b622c187c3b06814e2118ec7d985.tar.gz frameworks_base-4b403557bca7b622c187c3b06814e2118ec7d985.tar.bz2 |
Merge "Avoid setting mCurFrame to -1" into mnc-dev
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/java/android/graphics/drawable/AnimationDrawable.java | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/graphics/java/android/graphics/drawable/AnimationDrawable.java b/graphics/java/android/graphics/drawable/AnimationDrawable.java index 5ccb165..871715e 100644 --- a/graphics/java/android/graphics/drawable/AnimationDrawable.java +++ b/graphics/java/android/graphics/drawable/AnimationDrawable.java @@ -87,8 +87,8 @@ import android.util.AttributeSet; public class AnimationDrawable extends DrawableContainer implements Runnable, Animatable { private AnimationState mAnimationState; - /** The current frame, may be -1 when not animating. */ - private int mCurFrame = -1; + /** The current frame, ranging from 0 to {@link #mAnimationState#getChildCount() - 1} */ + private int mCurFrame = 0; /** Whether the drawable has an animation callback posted. */ private boolean mRunning; @@ -120,7 +120,7 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An final boolean changed = super.setVisible(visible, restart); if (visible) { if (restart || changed) { - boolean startFromZero = restart || mCurFrame < 0 || + boolean startFromZero = restart || !mRunning || mCurFrame >= mAnimationState.getChildCount(); setFrame(startFromZero ? 0 : mCurFrame, true, mAnimating); } @@ -194,7 +194,7 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An @Override public void unscheduleSelf(Runnable what) { - mCurFrame = -1; + mCurFrame = 0; mRunning = false; super.unscheduleSelf(what); } @@ -245,7 +245,7 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An */ public void addFrame(@NonNull Drawable frame, int duration) { mAnimationState.addFrame(frame, duration); - if (mCurFrame < 0) { + if (!mRunning) { setFrame(0, true, false); } } @@ -272,7 +272,6 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An selectDrawable(frame); if (unschedule || animate) { unscheduleSelf(this); - mRunning = false; } if (animate) { // Unscheduling may have clobbered these values; restore them |