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

Commit 305a2eb8 authored by Romain Guy's avatar Romain Guy
Browse files

Properly notifies listener when an animation is cancelled.

Bug: #2428005.
parent b37d8a48
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -181293,6 +181293,17 @@
<parameter name="t" type="android.view.animation.Transformation">
</parameter>
</method>
<method name="cancel"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="computeDurationHint"
 return="long"
 abstract="false"
+3 −0
Original line number Diff line number Diff line
@@ -8281,6 +8281,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
     * Cancels any animations for this view.
     */
    public void clearAnimation() {
        if (mCurrentAnimation != null) {
            mCurrentAnimation.cancel();
        }
        mCurrentAnimation = null;
    }

+21 −0
Original line number Diff line number Diff line
@@ -255,6 +255,27 @@ public abstract class Animation implements Cloneable {
        mOneMoreTime = true;
    }

    /**
     * Cancel the animation. Cancelling an animation invokes the animation
     * listener, if set, to notify the end of the animation.
     * 
     * If you cancel an animation manually, you must call {@link #reset()}
     * before starting the animation again.
     * 
     * @see #reset() 
     * @see #start() 
     * @see #startNow() 
     */
    public void cancel() {
        if (mStarted && !mEnded) {
            if (mListener != null) mListener.onAnimationEnd(this);
            mEnded = true;
        }
        // Make sure we move the animation to the end
        mStartTime = Long.MIN_VALUE;
        mMore = mOneMoreTime = false;
    }

    /**
     * Whether or not the animation has been initialized.
     *