Use ValueAnimator instead of Runnable+Handler for progress animation