# MediaSession.ProgressReporter

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

*** ** * ** ***

<br />

```
@UnstableApi
public interface MediaSession.ProgressReporter
```

<br />

*** ** * ** ***

A progress reporter to report progress for a custom command sent by a controller.

A non-null instance is passed to `https://developer.android.com/reference/androidx/media3/session/MediaSession.Callback#onCustomCommand(androidx.media3.session.MediaSession,androidx.media3.session.MediaSession.ControllerInfo,androidx.media3.session.SessionCommand,android.os.Bundle,androidx.media3.session.MediaSession.ProgressReporter)` in case the controller requests progress updates.

## Summary

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/media3/session/MediaSession.ProgressReporter#sendProgressUpdate(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle.html progressData)` Sends a progress update to the controller that has sent a custom command. |

## Public methods

### sendProgressUpdate

```
abstract void sendProgressUpdate(Bundle progressData)
```

Sends a progress update to the controller that has sent a custom command.

Updates can be sent as long as the `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` returned by `https://developer.android.com/reference/androidx/media3/session/MediaSession.Callback#onCustomCommand(androidx.media3.session.MediaSession,androidx.media3.session.MediaSession.ControllerInfo,androidx.media3.session.SessionCommand,android.os.Bundle,androidx.media3.session.MediaSession.ProgressReporter)` is not done. Sending updates after completion of the future results in a no-op.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/os/Bundle.html progressData` | The progress data `https://developer.android.com/reference/android/os/Bundle.html` to be sent to the controller. |