code: public boolean unBindServiceIfIdle() {
          // check idle
          if (!isServiceConnected()) {
              return false;
          }
  
          if (FileDownloadList.getImpl().isEmpty()
                  && FileDownloadServiceProxy.getImpl().isIdle()) {
              unBindService();
              return true;
          }
  
          return false;
      }
docs: Unbind and stop the downloader service when there is no task running in the FileDownloader.
  
  @return {@code true} if unbind and stop the downloader service successfully, {@code false}
  there are some tasks running in the FileDownloader.