Loading graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java +1 −0 Original line number Diff line number Diff line Loading @@ -651,6 +651,7 @@ public class AnimatedStateListDrawable extends StateListDrawable { } } @Override protected void setConstantState(@NonNull DrawableContainerState state) { super.setConstantState(state); Loading graphics/java/android/graphics/drawable/AnimationDrawable.java +12 −3 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import java.io.IOException; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.annotation.NonNull; import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.Resources.Theme; Loading Loading @@ -81,7 +82,7 @@ import android.util.AttributeSet; * @attr ref android.R.styleable#AnimationDrawableItem_drawable */ public class AnimationDrawable extends DrawableContainer implements Runnable, Animatable { private final AnimationState mAnimationState; private AnimationState mAnimationState; /** The current frame, may be -1 when not animating. */ private int mCurFrame = -1; Loading Loading @@ -408,9 +409,17 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An } } @Override protected void setConstantState(@NonNull DrawableContainerState state) { super.setConstantState(state); if (state instanceof AnimationState) { mAnimationState = (AnimationState) state; } } private AnimationDrawable(AnimationState state, Resources res) { AnimationState as = new AnimationState(state, this, res); mAnimationState = as; final AnimationState as = new AnimationState(state, this, res); setConstantState(as); if (state != null) { setFrame(0, true, false); Loading graphics/java/android/graphics/drawable/DrawableContainer.java +3 −2 Original line number Diff line number Diff line Loading @@ -567,8 +567,9 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { @Override public Drawable mutate() { if (!mMutated && super.mutate() == this) { mDrawableContainerState = cloneConstantState(); mDrawableContainerState.mutate(); final DrawableContainerState clone = cloneConstantState(); clone.mutate(); setConstantState(clone); mMutated = true; } return this; Loading graphics/java/android/graphics/drawable/LevelListDrawable.java +12 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import java.io.IOException; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.annotation.NonNull; import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.Resources.Theme; Loading Loading @@ -57,7 +58,7 @@ import android.util.AttributeSet; * @attr ref android.R.styleable#LevelListDrawableItem_drawable */ public class LevelListDrawable extends DrawableContainer { private final LevelListState mLevelListState; private LevelListState mLevelListState; private boolean mMutated; public LevelListDrawable() { Loading Loading @@ -227,9 +228,17 @@ public class LevelListDrawable extends DrawableContainer { } } @Override protected void setConstantState(@NonNull DrawableContainerState state) { super.setConstantState(state); if (state instanceof LevelListState) { mLevelListState = (LevelListState) state; } } private LevelListDrawable(LevelListState state, Resources res) { LevelListState as = new LevelListState(state, this, res); mLevelListState = as; final LevelListState as = new LevelListState(state, this, res); setConstantState(as); onLevelChange(getLevel()); } Loading Loading
graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java +1 −0 Original line number Diff line number Diff line Loading @@ -651,6 +651,7 @@ public class AnimatedStateListDrawable extends StateListDrawable { } } @Override protected void setConstantState(@NonNull DrawableContainerState state) { super.setConstantState(state); Loading
graphics/java/android/graphics/drawable/AnimationDrawable.java +12 −3 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import java.io.IOException; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.annotation.NonNull; import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.Resources.Theme; Loading Loading @@ -81,7 +82,7 @@ import android.util.AttributeSet; * @attr ref android.R.styleable#AnimationDrawableItem_drawable */ public class AnimationDrawable extends DrawableContainer implements Runnable, Animatable { private final AnimationState mAnimationState; private AnimationState mAnimationState; /** The current frame, may be -1 when not animating. */ private int mCurFrame = -1; Loading Loading @@ -408,9 +409,17 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An } } @Override protected void setConstantState(@NonNull DrawableContainerState state) { super.setConstantState(state); if (state instanceof AnimationState) { mAnimationState = (AnimationState) state; } } private AnimationDrawable(AnimationState state, Resources res) { AnimationState as = new AnimationState(state, this, res); mAnimationState = as; final AnimationState as = new AnimationState(state, this, res); setConstantState(as); if (state != null) { setFrame(0, true, false); Loading
graphics/java/android/graphics/drawable/DrawableContainer.java +3 −2 Original line number Diff line number Diff line Loading @@ -567,8 +567,9 @@ public class DrawableContainer extends Drawable implements Drawable.Callback { @Override public Drawable mutate() { if (!mMutated && super.mutate() == this) { mDrawableContainerState = cloneConstantState(); mDrawableContainerState.mutate(); final DrawableContainerState clone = cloneConstantState(); clone.mutate(); setConstantState(clone); mMutated = true; } return this; Loading
graphics/java/android/graphics/drawable/LevelListDrawable.java +12 −3 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import java.io.IOException; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.annotation.NonNull; import android.content.res.Resources; import android.content.res.TypedArray; import android.content.res.Resources.Theme; Loading Loading @@ -57,7 +58,7 @@ import android.util.AttributeSet; * @attr ref android.R.styleable#LevelListDrawableItem_drawable */ public class LevelListDrawable extends DrawableContainer { private final LevelListState mLevelListState; private LevelListState mLevelListState; private boolean mMutated; public LevelListDrawable() { Loading Loading @@ -227,9 +228,17 @@ public class LevelListDrawable extends DrawableContainer { } } @Override protected void setConstantState(@NonNull DrawableContainerState state) { super.setConstantState(state); if (state instanceof LevelListState) { mLevelListState = (LevelListState) state; } } private LevelListDrawable(LevelListState state, Resources res) { LevelListState as = new LevelListState(state, this, res); mLevelListState = as; final LevelListState as = new LevelListState(state, this, res); setConstantState(as); onLevelChange(getLevel()); } Loading