code: public void addState(int[] specs, Animator animation, Animator.AnimatorListener listener) {
          Tuple tuple = new Tuple(specs, animation, listener);
          animation.addListener(mAnimationListener);
          mTuples.add(tuple);
      }
docs: Associates the given Animation with the provided drawable state specs so that it will be run
  when the View's drawable state matches the specs.
  
  @param specs     drawable state specs to match against
  @param animation The Animation to run when the specs match