/**
  * create a new download after detected a url file by using {@link #detect(String,
  * OnDetectBigUrlFileListener, DownloadConfiguration)} <br>
  * if the caller cares for the download status, please register an listener before by using <br>
  * {@link #registerDownloadStatusListener(OnFileDownloadStatusListener,
  * DownloadStatusConfiguration)}
  *
  * @param url file url
  * @param saveDir saveDir
  * @param fileName saveFileName
  * @param downloadConfiguration download configuration
  * @since 0.3.2
  */
 public static void createAndStart(
     String url, String saveDir, String fileName, DownloadConfiguration downloadConfiguration) {
   if (downloadConfiguration != null) {
     downloadConfiguration.initNullKeyForUrl(url);
   }
   getFileDownloadManager().createAndStart(url, saveDir, fileName, downloadConfiguration);
 }
 /**
  * detect a big url file, which means can detect the url file bigger than 2G
  *
  * @param url file url
  * @param onDetectBigUrlFileListener OnDetectBigUrlFileListener impl
  * @param downloadConfiguration download configuration
  * @since 0.3.2
  */
 public static void detect(
     String url,
     OnDetectBigUrlFileListener onDetectBigUrlFileListener,
     DownloadConfiguration downloadConfiguration) {
   if (downloadConfiguration != null) {
     downloadConfiguration.initNullKeyForUrl(url);
   }
   getFileDownloadManager().detect(url, onDetectBigUrlFileListener, downloadConfiguration);
 }
 /**
  * restart multi downloads <br>
  * if the caller cares for the download status, please register an listener before by using <br>
  * {@link #registerDownloadStatusListener(OnFileDownloadStatusListener,
  * DownloadStatusConfiguration)}
  *
  * @param urls file urls
  * @param downloadConfiguration download configuration
  * @since 0.3.2
  */
 public void reStart(List<String> urls, DownloadConfiguration downloadConfiguration) {
   if (downloadConfiguration != null) {
     downloadConfiguration.initNullKeyForUrls(urls);
   }
   getFileDownloadManager().reStart(urls, downloadConfiguration);
 }
 /**
  * restart a download <br>
  * if the caller cares for the download status, please register an listener before by using <br>
  * {@link #registerDownloadStatusListener(OnFileDownloadStatusListener,
  * DownloadStatusConfiguration)}
  *
  * @param url file url
  * @param downloadConfiguration download configuration
  * @since 0.3.2
  */
 public static void reStart(String url, final DownloadConfiguration downloadConfiguration) {
   if (downloadConfiguration != null) {
     downloadConfiguration.initNullKeyForUrl(url);
   }
   getFileDownloadManager().reStart(url, downloadConfiguration);
 }