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

Commit f73363cf authored by Chet Haase's avatar Chet Haase Committed by Android (Google) Code Review
Browse files

Merge "Make Animation.cancel() actually work"

parents 71888e9f f83464ed
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -850,7 +850,7 @@ public abstract class Animation implements Cloneable {
            normalizedTime = currentTime < mStartTime ? 0.0f : 1.0f;
            normalizedTime = currentTime < mStartTime ? 0.0f : 1.0f;
        }
        }


        final boolean expired = normalizedTime >= 1.0f;
        final boolean expired = normalizedTime >= 1.0f || isCanceled();
        mMore = !expired;
        mMore = !expired;


        if (!mFillEnabled) normalizedTime = Math.max(Math.min(normalizedTime, 1.0f), 0.0f);
        if (!mFillEnabled) normalizedTime = Math.max(Math.min(normalizedTime, 1.0f), 0.0f);
@@ -875,7 +875,7 @@ public abstract class Animation implements Cloneable {
        }
        }


        if (expired) {
        if (expired) {
            if (mRepeatCount == mRepeated) {
            if (mRepeatCount == mRepeated || isCanceled()) {
                if (!mEnded) {
                if (!mEnded) {
                    mEnded = true;
                    mEnded = true;
                    guard.close();
                    guard.close();
@@ -905,6 +905,10 @@ public abstract class Animation implements Cloneable {
        return mMore;
        return mMore;
    }
    }


    private boolean isCanceled() {
        return mStartTime == Long.MIN_VALUE;
    }

    private void fireAnimationStart() {
    private void fireAnimationStart() {
        if (mListener != null) {
        if (mListener != null) {
            if (mListenerHandler == null) mListener.onAnimationStart(this);
            if (mListenerHandler == null) mListener.onAnimationStart(this);