code: public int replaceListener(int id, FileDownloadListener listener) {
          final BaseDownloadTask.IRunningTask task = FileDownloadList.getImpl().get(id);
          if (task == null) {
              return 0;
          }
  
          task.getOrigin().setListener(listener);
          return task.getOrigin().getId();
      }
docs: Find the running task by {@code id}, and replace its listener width the new one
  {@code listener}.
  
  @return The target task's DownloadId, if not exist target task, and replace failed, will be 0
  @see #replaceListener(String, FileDownloadListener)
  @see #replaceListener(String, String, FileDownloadListener)