Remove Animatable interface

Push the interface methods from the new Animatable interface back
down into Animator, from whence they came.

Issue #8634310 Remove Animatable interface

Change-Id: I79e26001709d791d54fcb02561640fe2e008b1fd
This commit is contained in:
Chet Haase
2013-04-16 17:54:14 -07:00
parent 5584737fff
commit e8cee38c6a
3 changed files with 55 additions and 91 deletions

View File

@ -2306,28 +2306,23 @@ package android.accounts {
package android.animation {
public abstract interface Animatable {
method public abstract long getDuration();
method public abstract android.animation.TimeInterpolator getInterpolator();
method public abstract long getStartDelay();
method public abstract android.animation.Animatable setDuration(long);
method public abstract void setInterpolator(android.animation.TimeInterpolator);
method public abstract void setStartDelay(long);
}
public abstract class Animator implements android.animation.Animatable java.lang.Cloneable {
public abstract class Animator implements java.lang.Cloneable {
ctor public Animator();
method public void addListener(android.animation.Animator.AnimatorListener);
method public void cancel();
method public android.animation.Animator clone();
method public void end();
method public abstract long getDuration();
method public android.animation.TimeInterpolator getInterpolator();
method public java.util.ArrayList<android.animation.Animator.AnimatorListener> getListeners();
method public abstract long getStartDelay();
method public abstract boolean isRunning();
method public boolean isStarted();
method public void removeAllListeners();
method public void removeListener(android.animation.Animator.AnimatorListener);
method public abstract android.animation.Animator setDuration(long);
method public abstract void setInterpolator(android.animation.TimeInterpolator);
method public abstract void setStartDelay(long);
method public void setTarget(java.lang.Object);
method public void setupEndValues();
method public void setupStartValues();

View File

@ -1,72 +0,0 @@
/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.animation;
/**
* This interface is implemented by animation-related classes that expose
* the ability to set and get duration, startDelay, and interpolators.
*/
public interface Animatable {
/**
* The amount of time, in milliseconds, to delay processing the animation
* after the animation is started. The {@link #setDuration(long)} of the
* animation will not begin to elapse until after the startDelay has elapsed.
*
* @return the number of milliseconds to delay running the animation
*/
long getStartDelay();
/**
* The amount of time, in milliseconds, to delay processing the animation
* after the animation is started. The {@link #setDuration(long)} of the
* animation will not begin to elapse until after the startDelay has elapsed.
* @param startDelay The amount of the delay, in milliseconds
*/
void setStartDelay(long startDelay);
/**
* Sets the length of the animation.
*
* @param duration The length of the animation, in milliseconds.
*/
Animatable setDuration(long duration);
/**
* Gets the duration of the animation.
*
* @return The length of the animation, in milliseconds.
*/
long getDuration();
/**
* The time interpolator used in calculating the elapsed fraction of the
* animation. The interpolator determines whether the animation runs with
* linear or non-linear motion, such as acceleration and deceleration.
*
* @param value the interpolator to be used by this animation
*/
void setInterpolator(TimeInterpolator value);
/**
* Returns the timing interpolator that this animation uses.
*
* @return The timing interpolator for this animation.
*/
public TimeInterpolator getInterpolator();
}

View File

@ -22,21 +22,13 @@ import java.util.ArrayList;
* This is the superclass for classes which provide basic support for animations which can be
* started, ended, and have <code>AnimatorListeners</code> added to them.
*/
public abstract class Animator implements Cloneable, Animatable {
public abstract class Animator implements Cloneable {
/**
* The set of listeners to be sent events through the life of an animation.
*/
ArrayList<AnimatorListener> mListeners = null;
@Override
public abstract Animator setDuration(long duration);
@Override
public TimeInterpolator getInterpolator() {
return null;
}
/**
* Starts this animation. If the animation has a nonzero startDelay, the animation will start
* running after that delay elapses. A non-delayed animation will have its initial
@ -76,6 +68,55 @@ public abstract class Animator implements Cloneable, Animatable {
public void end() {
}
/**
* The amount of time, in milliseconds, to delay processing the animation
* after {@link #start()} is called.
*
* @return the number of milliseconds to delay running the animation
*/
public abstract long getStartDelay();
/**
* The amount of time, in milliseconds, to delay processing the animation
* after {@link #start()} is called.
* @param startDelay The amount of the delay, in milliseconds
*/
public abstract void setStartDelay(long startDelay);
/**
* Sets the duration of the animation.
*
* @param duration The length of the animation, in milliseconds.
*/
public abstract Animator setDuration(long duration);
/**
* Gets the duration of the animation.
*
* @return The length of the animation, in milliseconds.
*/
public abstract long getDuration();
/**
* The time interpolator used in calculating the elapsed fraction of the
* animation. The interpolator determines whether the animation runs with
* linear or non-linear motion, such as acceleration and deceleration. The
* default value is {@link android.view.animation.AccelerateDecelerateInterpolator}.
*
* @param value the interpolator to be used by this animation
*/
public abstract void setInterpolator(TimeInterpolator value);
/**
* Returns the timing interpolator that this animation uses.
*
* @return The timing interpolator for this animation.
*/
public TimeInterpolator getInterpolator() {
return null;
}
/**
* Returns whether this Animator is currently running (having been started and gone past any
* initial startDelay period and not yet ended).