Loading graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java +10 −4 Original line number Diff line number Diff line Loading @@ -142,12 +142,18 @@ public class AnimatedStateListDrawable extends StateListDrawable { // If we're not already at the target index, either attempt to find a // valid transition to it or jump directly there. final int targetIndex = mState.indexOfKeyframe(stateSet); final boolean changedIndex = targetIndex != getCurrentIndex() boolean changed = targetIndex != getCurrentIndex() && (selectTransition(targetIndex) || selectDrawable(targetIndex)); // Always call super.onStateChanged() to propagate the state change to // the current drawable. return super.onStateChange(stateSet) || changedIndex; // We need to propagate the state change to the current drawable, but // we can't call StateListDrawable.onStateChange() without changing the // current drawable. final Drawable current = getCurrent(); if (current != null) { changed |= current.setState(stateSet); } return changed; } private boolean selectTransition(int toIndex) { Loading graphics/java/android/graphics/drawable/AnimationDrawable.java +4 −7 Original line number Diff line number Diff line Loading @@ -285,7 +285,6 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An private void inflateChildElements(Resources r, XmlPullParser parser, AttributeSet attrs, Theme theme) throws XmlPullParserException, IOException { TypedArray a; int type; final int innerDepth = parser.getDepth()+1; Loading @@ -300,7 +299,8 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An continue; } a = obtainAttributes(r, theme, attrs, R.styleable.AnimationDrawableItem); final TypedArray a = obtainAttributes(r, theme, attrs, R.styleable.AnimationDrawableItem); final int duration = a.getInt(R.styleable.AnimationDrawableItem_duration, -1); if (duration < 0) { Loading @@ -308,14 +308,11 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An + ": <item> tag requires a 'duration' attribute"); } final int drawableRes = a.getResourceId(R.styleable.AnimationDrawableItem_drawable, 0); Drawable dr = a.getDrawable(R.styleable.AnimationDrawableItem_drawable); a.recycle(); Drawable dr; if (drawableRes != 0) { dr = r.getDrawable(drawableRes, theme); } else { if (dr == null) { while ((type=parser.next()) == XmlPullParser.TEXT) { // Empty } Loading Loading
graphics/java/android/graphics/drawable/AnimatedStateListDrawable.java +10 −4 Original line number Diff line number Diff line Loading @@ -142,12 +142,18 @@ public class AnimatedStateListDrawable extends StateListDrawable { // If we're not already at the target index, either attempt to find a // valid transition to it or jump directly there. final int targetIndex = mState.indexOfKeyframe(stateSet); final boolean changedIndex = targetIndex != getCurrentIndex() boolean changed = targetIndex != getCurrentIndex() && (selectTransition(targetIndex) || selectDrawable(targetIndex)); // Always call super.onStateChanged() to propagate the state change to // the current drawable. return super.onStateChange(stateSet) || changedIndex; // We need to propagate the state change to the current drawable, but // we can't call StateListDrawable.onStateChange() without changing the // current drawable. final Drawable current = getCurrent(); if (current != null) { changed |= current.setState(stateSet); } return changed; } private boolean selectTransition(int toIndex) { Loading
graphics/java/android/graphics/drawable/AnimationDrawable.java +4 −7 Original line number Diff line number Diff line Loading @@ -285,7 +285,6 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An private void inflateChildElements(Resources r, XmlPullParser parser, AttributeSet attrs, Theme theme) throws XmlPullParserException, IOException { TypedArray a; int type; final int innerDepth = parser.getDepth()+1; Loading @@ -300,7 +299,8 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An continue; } a = obtainAttributes(r, theme, attrs, R.styleable.AnimationDrawableItem); final TypedArray a = obtainAttributes(r, theme, attrs, R.styleable.AnimationDrawableItem); final int duration = a.getInt(R.styleable.AnimationDrawableItem_duration, -1); if (duration < 0) { Loading @@ -308,14 +308,11 @@ public class AnimationDrawable extends DrawableContainer implements Runnable, An + ": <item> tag requires a 'duration' attribute"); } final int drawableRes = a.getResourceId(R.styleable.AnimationDrawableItem_drawable, 0); Drawable dr = a.getDrawable(R.styleable.AnimationDrawableItem_drawable); a.recycle(); Drawable dr; if (drawableRes != 0) { dr = r.getDrawable(drawableRes, theme); } else { if (dr == null) { while ((type=parser.next()) == XmlPullParser.TEXT) { // Empty } Loading