code: private void startAnimation() {
          initAnimation();
          sAnimations.get().add(this);
          if (mStartDelay > 0 && mListeners != null) {
              // Listeners were already notified in start() if startDelay is 0; this is
              // just for delayed animations
              ArrayList<AnimatorListener> tmpListeners =
                      (ArrayList<AnimatorListener>) mListeners.clone();
              int numListeners = tmpListeners.size();
              for (int i = 0; i < numListeners; ++i) {
                  tmpListeners.get(i).onAnimationStart(this);
              }
          }
      }
docs: Called internally to start an animation by adding it to the active animations list. Must be
  called on the UI thread.