Merge "Revert addition of add/removeAnimationListener"

This commit is contained in:
TreeHugger Robot
2019-02-11 14:20:29 +00:00
committed by Android (Google) Code Review
2 changed files with 5 additions and 53 deletions

View File

@@ -52612,7 +52612,6 @@ package android.view.animation {
public abstract class Animation implements java.lang.Cloneable {
ctor public Animation();
ctor public Animation(android.content.Context, android.util.AttributeSet);
method public void addAnimationListener(android.view.animation.Animation.AnimationListener);
method protected void applyTransformation(float, android.view.animation.Transformation);
method public void cancel();
method protected android.view.animation.Animation clone() throws java.lang.CloneNotSupportedException;
@@ -52637,7 +52636,6 @@ package android.view.animation {
method public void initialize(int, int, int, int);
method public boolean isFillEnabled();
method public boolean isInitialized();
method public void removeAnimationListener(android.view.animation.Animation.AnimationListener);
method public void reset();
method protected float resolveSize(int, float, int, int);
method public void restrictDuration(long);

View File

@@ -23,6 +23,7 @@ import android.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.RectF;
import android.os.Build;
import android.os.Handler;
import android.os.SystemProperties;
import android.util.AttributeSet;
@@ -30,9 +31,6 @@ import android.util.TypedValue;
import dalvik.system.CloseGuard;
import java.util.ArrayList;
import java.util.List;
/**
* Abstraction for an Animation that can be applied to Views, Surfaces, or
* other objects. See the {@link android.view.animation animation package
@@ -187,14 +185,11 @@ public abstract class Animation implements Cloneable {
/**
* An animation listener to be notified when the animation starts, ends or repeats.
*/
@UnsupportedAppUsage
// If you need to chain the AnimationListener, wrap the existing Animation into an AnimationSet
// and add your new listener to that set
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 117519981)
private AnimationListener mListener;
/**
* A list of animation listeners to be notified when the animation starts, ends or repeats.
*/
private List<AnimationListener> mListeners;
/**
* Desired Z order mode during animation.
*/
@@ -833,7 +828,7 @@ public abstract class Animation implements Cloneable {
}
private boolean hasAnimationListener() {
return mListener != null || (mListeners != null && !mListeners.isEmpty());
return mListener != null;
}
/**
@@ -847,32 +842,6 @@ public abstract class Animation implements Cloneable {
mListener = listener;
}
/**
* <p>Adds an animation listener to this animation. The animation listener
* is notified of animation events such as the end of the animation or the
* repetition of the animation.</p>
*
* @param listener the animation listener to be notified
*/
public void addAnimationListener(AnimationListener listener) {
if (mListeners == null) {
mListeners = new ArrayList<>(1);
}
mListeners.add(listener);
}
/**
* <p>Removes an animation listener that has been added with
* {@link #addAnimationListener(AnimationListener)}.</p>
*
* @param listener the animation listener to be removed
*/
public void removeAnimationListener(AnimationListener listener) {
if (mListeners != null) {
mListeners.remove(listener);
}
}
/**
* Gurantees that this animation has an interpolator. Will use
* a AccelerateDecelerateInterpolator is nothing else was specified.
@@ -1003,33 +972,18 @@ public abstract class Animation implements Cloneable {
if (mListener != null) {
mListener.onAnimationStart(this);
}
if (mListeners != null && !mListeners.isEmpty()) {
for (AnimationListener listener : mListeners) {
listener.onAnimationStart(this);
}
}
}
void dispatchAnimationRepeat() {
if (mListener != null) {
mListener.onAnimationRepeat(this);
}
if (mListeners != null && !mListeners.isEmpty()) {
for (AnimationListener listener : mListeners) {
listener.onAnimationRepeat(this);
}
}
}
void dispatchAnimationEnd() {
if (mListener != null) {
mListener.onAnimationEnd(this);
}
if (mListeners != null && !mListeners.isEmpty()) {
for (AnimationListener listener : mListeners) {
listener.onAnimationEnd(this);
}
}
}
/**