docs: public void hide() {
      mDismissed = true;
      removeCallbacks(mDelayedShow);
      long diff = System.currentTimeMillis() - mStartTime;
      if (diff >= MIN_SHOW_TIME || mStartTime == -1) {
        // The progress spinner has been shown long enough
        // OR was not shown yet. If it wasn't shown yet,
        // it will just never be shown.
        setVisibility(View.GONE);
      } else {
        // The progress spinner is shown, but not long enough,
        // so put a delayed message in to hide it when its been
        // shown long enough.
        if (!mPostedHide) {
          postDelayed(mDelayedHide, MIN_SHOW_TIME - diff);
          mPostedHide = true;
        }
      }
    }