# Downloader.ProgressListener

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/offline/Downloader.java+class:androidx.media3.exoplayer.offline.Downloader.ProgressListener)

*** ** * ** ***


```
public interface Downloader.ProgressListener
```

<br />

*** ** * ** ***

Receives progress updates during download operations.

## Summary

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/media3/exoplayer/offline/Downloader.ProgressListener#onProgress(long,long,float)( long contentLength, long bytesDownloaded, float percentDownloaded )` Called when progress is made during a download operation. |

## Public methods

### onProgress

```
abstract void onProgress(
    long contentLength,
    long bytesDownloaded,
    float percentDownloaded
)
```

Called when progress is made during a download operation.

May be called directly from `https://developer.android.com/reference/androidx/media3/exoplayer/offline/Downloader#download(androidx.media3.exoplayer.offline.Downloader.ProgressListener)`, or from any other thread used by the downloader. In all cases, `https://developer.android.com/reference/androidx/media3/exoplayer/offline/Downloader#download(androidx.media3.exoplayer.offline.Downloader.ProgressListener)` is guaranteed not to return until after the last call to this method has finished executing.

| Parameters |
|---|---|
| `long contentLength` | The length of the content in bytes, or `https://developer.android.com/reference/androidx/media3/common/C#LENGTH_UNSET()` if unknown. |
| `long bytesDownloaded` | The number of bytes that have been downloaded. |
| `float percentDownloaded` | The percentage of the content that has been downloaded, or `https://developer.android.com/reference/androidx/media3/common/C#PERCENTAGE_UNSET()`. |