Merge "New public API for calculating the total duration of an animation"

This commit is contained in:
Doris Liu
2015-10-14 17:18:37 +00:00
committed by Android (Google) Code Review
6 changed files with 14 additions and 13 deletions

View File

@@ -2876,6 +2876,7 @@ package android.animation {
method public android.animation.TimeInterpolator getInterpolator();
method public java.util.ArrayList<android.animation.Animator.AnimatorListener> getListeners();
method public abstract long getStartDelay();
method public long getTotalDuration();
method public boolean isPaused();
method public abstract boolean isRunning();
method public boolean isStarted();
@@ -2891,6 +2892,7 @@ package android.animation {
method public void setupEndValues();
method public void setupStartValues();
method public void start();
field public static final long DURATION_INFINITE = -1L; // 0xffffffffffffffffL
}
public static abstract interface Animator.AnimatorListener {

View File

@@ -2975,6 +2975,7 @@ package android.animation {
method public android.animation.TimeInterpolator getInterpolator();
method public java.util.ArrayList<android.animation.Animator.AnimatorListener> getListeners();
method public abstract long getStartDelay();
method public long getTotalDuration();
method public boolean isPaused();
method public abstract boolean isRunning();
method public boolean isStarted();
@@ -2990,6 +2991,7 @@ package android.animation {
method public void setupEndValues();
method public void setupStartValues();
method public void start();
field public static final long DURATION_INFINITE = -1L; // 0xffffffffffffffffL
}
public static abstract interface Animator.AnimatorListener {

View File

@@ -28,7 +28,6 @@ public abstract class Animator implements Cloneable {
/**
* The value used to indicate infinite duration (e.g. when Animators repeat infinitely).
* @hide
*/
public static final long DURATION_INFINITE = -1;
/**
@@ -191,11 +190,18 @@ public abstract class Animator implements Cloneable {
/**
* Gets the total duration of the animation, accounting for animation sequences, start delay,
* and repeating. Return {@link #DURATION_INFINITE} if the duration is infinite.
* @hide
* TODO: Unhide
*
* @return Total time an animation takes to finish, starting from the time {@link #start()}
* is called. {@link #DURATION_INFINITE} will be returned if the animation or any
* child animation repeats infinite times.
*/
public long getTotalDuration() {
return getStartDelay() + getDuration();
long duration = getDuration();
if (duration == DURATION_INFINITE) {
return DURATION_INFINITE;
} else {
return getStartDelay() + duration;
}
}
/**

View File

@@ -1030,9 +1030,6 @@ public final class AnimatorSet extends Animator {
}
}
/**
* @hide
*/
@Override
public long getTotalDuration() {
updateAnimatorsDuration();

View File

@@ -536,9 +536,6 @@ public class ValueAnimator extends Animator implements AnimationHandler.Animatio
return mDuration;
}
/**
* @hide
*/
@Override
public long getTotalDuration() {
if (mRepeatCount == INFINITE) {

View File

@@ -336,9 +336,6 @@ public class RenderNodeAnimator extends Animator {
return mUnscaledDuration;
}
/**
* @hide
*/
@Override
public long getTotalDuration() {
return mUnscaledDuration + mUnscaledStartDelay;