public void startIfNecessary(float currentValue) {
      if (!hasStarted && predicate.shouldStart(currentValue)) {
          start();
          hasStarted = true;
      }
    }
A {@link android.animation.ValueAnimator} that starts once a given predicate returns true.
java/com/google/android/apps/authenticator/howitworks/PagingIndicator.java