Merge "Properly notifies listener when an animation is cancelled. Bug: #2428005."
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user