Merge "Return the actual interpolator of the ViewPropertyAnimator"
diff --git a/core/java/android/view/ViewPropertyAnimator.java b/core/java/android/view/ViewPropertyAnimator.java
index 71a85bc..e6bf420 100644
--- a/core/java/android/view/ViewPropertyAnimator.java
+++ b/core/java/android/view/ViewPropertyAnimator.java
@@ -98,6 +98,12 @@
private Animator.AnimatorListener mListener = null;
/**
+ * A lazily-created ValueAnimator used in order to get some default animator properties
+ * (duration, start delay, interpolator, etc.).
+ */
+ private ValueAnimator mTempValueAnimator;
+
+ /**
* This listener is the mechanism by which the underlying Animator causes changes to the
* properties currently being animated, as well as the cleanup after an animation is
* complete.
@@ -268,7 +274,10 @@
} else {
// Just return the default from ValueAnimator, since that's what we'd get if
// the value has not been set otherwise
- return new ValueAnimator().getDuration();
+ if (mTempValueAnimator == null) {
+ mTempValueAnimator = new ValueAnimator();
+ }
+ return mTempValueAnimator.getDuration();
}
}
@@ -328,7 +337,16 @@
* @return The timing interpolator for this animation.
*/
public TimeInterpolator getInterpolator() {
- return null;
+ if (mInterpolatorSet) {
+ return mInterpolator;
+ } else {
+ // Just return the default from ValueAnimator, since that's what we'd get if
+ // the value has not been set otherwise
+ if (mTempValueAnimator == null) {
+ mTempValueAnimator = new ValueAnimator();
+ }
+ return mTempValueAnimator.getInterpolator();
+ }
}
/**