code: public void setState(@FloatRange(from = 0f, to = 1f) float pos,
              boolean leaving, boolean animate) {
          if (!isActivated) {
              throw new IllegalStateException(
                      "You should call enter(...) before calling setState(...)");
          }
  
          stopAnimation();
          position = pos < 0f ? 0f : (pos > 1f ? 1f : pos);
          isLeaving = leaving;
          if (animate) {
              startAnimationInternal();
          }
          applyCurrentPosition();
      }
docs: Stops current animation and sets position state to particular values.
  <p>
  Note, that once animator reaches {@code state = 0f} and {@code isLeaving = true}
  it will cleanup all internal stuff. So you will need to call {@link #enter(View, boolean)}
  or {@link #enter(ViewPosition, boolean)} again in order to continue using animator.
  
  @param pos Current position
  @param leaving Whether we we are in exiting direction ({@code true}) or in entering
  ({@code false})
  @param animate Whether we should start animating from given position and in given direction