@Override
  protected void onReleaseToRefresh() {
    super.onReleaseToRefresh();

    if (getShowIndicatorInternal()) {
      switch (getCurrentMode()) {
        case PULL_UP_TO_REFRESH:
          mIndicatorIvBottom.releaseToRefresh();
          break;
        case PULL_DOWN_TO_REFRESH:
          mIndicatorIvTop.releaseToRefresh();
          break;
      }
    }
  }
  @Override
  protected void onReleaseToRefresh() {
    super.onReleaseToRefresh();

    if (getShowIndicatorInternal()) {
      switch (getCurrentMode()) {
        case PULL_FROM_END:
          mIndicatorIvBottom.releaseToRefresh();
          break;
        case PULL_FROM_START:
          mIndicatorIvTop.releaseToRefresh();
          break;
        default:
          // NO-OP
          break;
      }
    }
  }