Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f876974 authored by Alan Viverette's avatar Alan Viverette Committed by Android Git Automerger
Browse files

am 667ec63c: Merge "Don\'t propagate AnimatedStateListDrawable state change to...

am 667ec63c: Merge "Don\'t propagate AnimatedStateListDrawable state change to super()" into lmp-mr1-dev

* commit '667ec63c':
  Don't propagate AnimatedStateListDrawable state change to super()
parents 3ba2c7c6 667ec63c
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -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) {
+4 −7
Original line number Diff line number Diff line
@@ -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;
@@ -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) {
@@ -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
                }