summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
authorDoris Liu <tianliu@google.com>2015-05-12 17:32:21 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-05-12 17:32:30 +0000
commit4b403557bca7b622c187c3b06814e2118ec7d985 (patch)
treeefb393bb60c5cd32c6f10fac9874b02d5981eb5c /graphics
parent03064e25b284d7ee99563658c5966ee590f925f6 (diff)
parent56ef127df75164243a21df10771e7c77c8ef2e24 (diff)
downloadframeworks_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.java11
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