code: private boolean delayedAnimationFrame(long currentTime) {
          if (!mStartedDelay) {
              mStartedDelay = true;
              mDelayStartTime = currentTime;
          } else {
              long deltaTime = currentTime - mDelayStartTime;
              if (deltaTime > mStartDelay) {
                  // startDelay ended - start the anim and record the
                  // mStartTime appropriately
                  mStartTime = currentTime - (deltaTime - mStartDelay);
                  mPlayingState = RUNNING;
                  return true;
              }
          }
          return false;
      }
docs: Internal function called to process an animation frame on an animation that is currently
  sleeping through its <code>startDelay</code> phase. The return value indicates whether it
  should be woken up and put on the active animations queue.
  
  @param currentTime The current animation time, used to calculate whether the animation
  has exceeded its <code>startDelay</code> and should be started.
  @return True if the animation's <code>startDelay</code> has been exceeded and the animation
  should be added to the set of active animations.