am 1b4fd74d: Adopt new ValueAnimator#setCurrentFraction(float) API

* commit '1b4fd74d2aace67a8cf7689697b758c53eb37cf7':
  Adopt new ValueAnimator#setCurrentFraction(float) API
diff --git a/src/com/android/deskclock/AnimatorUtils.java b/src/com/android/deskclock/AnimatorUtils.java
index ffedcab..fe90a7d 100644
--- a/src/com/android/deskclock/AnimatorUtils.java
+++ b/src/com/android/deskclock/AnimatorUtils.java
@@ -81,39 +81,11 @@
 
     public static final TypeEvaluator ARGB_EVALUATOR = new ArgbEvaluator();
 
-    private static Method sAnimateValue;
-    private static boolean sTryAnimateValue = true;
-
-    public static void setAnimatedFraction(ValueAnimator animator, float fraction) {
-        if (sTryAnimateValue) {
-            // try to set the animated fraction directly so that it isn't affected by the
-            // internal animator scale or time (b/17938711)
-            try {
-                if (sAnimateValue == null) {
-                    sAnimateValue = ValueAnimator.class
-                            .getDeclaredMethod("animateValue", float.class);
-                    sAnimateValue.setAccessible(true);
-                }
-
-                sAnimateValue.invoke(animator, fraction);
-                return;
-            } catch (NoSuchMethodException|InvocationTargetException|IllegalAccessException e) {
-                // something went wrong, don't try that again
-                LogUtils.e("Unable to use animateValue directly", e);
-                sTryAnimateValue = false;
-            }
-        }
-
-        // if that doesn't work then just fall back to setting the current play time
-        animator.setCurrentPlayTime(Math.round(fraction * animator.getDuration()));
-    }
-
     public static void start(ValueAnimator... animators) {
         for (ValueAnimator animator : animators) {
             final float fraction = animator.getAnimatedFraction();
             if (fraction < 1.0f) {
                 animator.start();
-                setAnimatedFraction(animator, fraction);
             }
         }
     }
@@ -123,7 +95,6 @@
             final float fraction = animator.getAnimatedFraction();
             if (fraction > 0.0f) {
                 animator.reverse();
-                setAnimatedFraction(animator, 1.0f - fraction);
             }
         }
     }
diff --git a/src/com/android/deskclock/alarms/AlarmActivity.java b/src/com/android/deskclock/alarms/AlarmActivity.java
index 5639d4a..753d5d9 100644
--- a/src/com/android/deskclock/alarms/AlarmActivity.java
+++ b/src/com/android/deskclock/alarms/AlarmActivity.java
@@ -381,9 +381,9 @@
 
     private void setAnimatedFractions(float snoozeFraction, float dismissFraction) {
         final float alarmFraction = Math.max(snoozeFraction, dismissFraction);
-        AnimatorUtils.setAnimatedFraction(mAlarmAnimator, alarmFraction);
-        AnimatorUtils.setAnimatedFraction(mSnoozeAnimator, snoozeFraction);
-        AnimatorUtils.setAnimatedFraction(mDismissAnimator, dismissFraction);
+        mAlarmAnimator.setCurrentFraction(alarmFraction);
+        mSnoozeAnimator.setCurrentFraction(snoozeFraction);
+        mDismissAnimator.setCurrentFraction(dismissFraction);
     }
 
     private float getFraction(float x0, float x1, float x) {