/**
   * 获得全部的下载列表
   *
   * @return
   */
  public List<DownloadStatus> getAllDownloadList() {

    List<DownloadStatus> downloadStatusList = new ArrayList<>();
    DownloadManager.Query query = new DownloadManager.Query();
    Cursor cursor = downloadManager.query(query);
    while (cursor.moveToNext()) {

      long time =
          cursor.getLong(cursor.getColumnIndex(DownloadManager.COLUMN_LAST_MODIFIED_TIMESTAMP));
      //            Log.d(TAG, "time:" + System.currentTimeMillis());
      //            Log.d(TAG, "time:" + time);
      int reason = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_REASON));
      int downId = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_ID));
      int bytes_downloaded =
          cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR));
      int bytes_total =
          cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_TOTAL_SIZE_BYTES));
      int status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS));
      String url = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_URI)); // 下载的url
      int progress = (int) ((float) bytes_downloaded / (float) bytes_total * 100);
      Log.d(
          TAG,
          bytes_downloaded
              + "/"
              + bytes_total
              + "--"
              + progress
              + "uri"
              + downloadManager.getUriForDownloadedFile(downId));
      DownloadStatus downloadStatus = new DownloadStatus();
      downloadStatus.setDownloadId(downId);
      downloadStatus.setDownloadedbyte(bytes_downloaded);
      downloadStatus.setStatus(status);
      downloadStatus.setReason(reason);
      downloadStatus.setDownloadtotalbyte(bytes_total);
      downloadStatus.setFileUri(downloadManager.getUriForDownloadedFile(downId));
      downloadStatus.setProgress(progress);
      downloadStatus.setUrl(url);
      downloadStatusList.add(downloadStatus);
    }
    cursor.close();
    return downloadStatusList;
  }