in shimmer/src/main/java/com/facebook/shimmer/ShimmerDrawable.java [178:203]
private void updateValueAnimator() {
if (mShimmer == null) {
return;
}
final boolean started;
if (mValueAnimator != null) {
started = mValueAnimator.isStarted();
mValueAnimator.cancel();
mValueAnimator.removeAllUpdateListeners();
} else {
started = false;
}
mValueAnimator =
ValueAnimator.ofFloat(0f, 1f + (float) (mShimmer.repeatDelay / mShimmer.animationDuration));
mValueAnimator.setInterpolator(new LinearInterpolator());
mValueAnimator.setRepeatMode(mShimmer.repeatMode);
mValueAnimator.setStartDelay(mShimmer.startDelay);
mValueAnimator.setRepeatCount(mShimmer.repeatCount);
mValueAnimator.setDuration(mShimmer.animationDuration + mShimmer.repeatDelay);
mValueAnimator.addUpdateListener(mUpdateListener);
if (started) {
mValueAnimator.start();
}
}