code: protected final void broadcastProgress(final long uploadedBytes, final long totalBytes) {
  
          long currentTime = System.currentTimeMillis();
          if (uploadedBytes < totalBytes && currentTime < lastProgressNotificationTime + UploadService.PROGRESS_REPORT_INTERVAL) {
              return;
          }
  
          setLastProgressNotificationTime(currentTime);
  
          Logger.debug(LOG_TAG, "Broadcasting upload progress for " + params.id
                  + ": " + uploadedBytes + " bytes of " + totalBytes);
  
          final UploadInfo uploadInfo = new UploadInfo(params.id, startTime, uploadedBytes,
                  totalBytes, (attempts - 1),
                  successfullyUploadedFiles,
                  pathStringListFrom(params.files));
  
          BroadcastData data = new BroadcastData()
                  .setStatus(BroadcastData.Status.IN_PROGRESS)
                  .setUploadInfo(uploadInfo);
  
          final UploadStatusDelegate delegate = UploadService.getUploadStatusDelegate(params.id);
          if (delegate != null) {
              mainThreadHandler.post(new Runnable() {
                  @Override
                  public void run() {
                      delegate.onProgress(service, uploadInfo);
                  }
              });
          } else {
              service.sendBroadcast(data.getIntent());
          }
  
          updateNotificationProgress(uploadInfo);
      }
docs: Broadcasts a progress update.
  
  @param uploadedBytes number of bytes which has been uploaded to the server
  @param totalBytes    total bytes of the request