diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/animation/ValueAnimator.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/java/android/animation/ValueAnimator.java b/core/java/android/animation/ValueAnimator.java index 9435dfb..0d17d67 100644 --- a/core/java/android/animation/ValueAnimator.java +++ b/core/java/android/animation/ValueAnimator.java @@ -508,10 +508,14 @@ public class ValueAnimator extends Animator { duration); } mUnscaledDuration = duration; - mDuration = (long)(duration * sDurationScale); + updateScaledDuration(); return this; } + private void updateScaledDuration() { + mDuration = (long)(mUnscaledDuration * sDurationScale); + } + /** * Gets the length of the animation. The default duration is 300 milliseconds. * @@ -947,6 +951,7 @@ public class ValueAnimator extends Animator { mStarted = true; mStartedDelay = false; mPaused = false; + updateScaledDuration(); // in case the scale factor has changed since creation time AnimationHandler animationHandler = getOrCreateAnimationHandler(); animationHandler.mPendingAnimations.add(this); if (mStartDelay == 0) { |