# HlsContentSteeringTracker.Callback

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

*** ** * ** ***


```
public interface HlsContentSteeringTracker.Callback
```

<br />

*** ** * ** ***

A callback to be notified of `https://developer.android.com/reference/androidx/media3/exoplayer/hls/HlsContentSteeringTracker` events.

## Summary

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/HlsContentSteeringTracker.Callback#onCurrentPathwayUpdated(java.lang.String,java.lang.String,long)( https://developer.android.com/reference/java/lang/String.html currentPathwayId, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html previousPathwayId, long previousPathwayExcludeDurationMs )` Called when the current pathway is updated. |
| `abstract void` | `https://developer.android.com/reference/androidx/media3/exoplayer/hls/HlsContentSteeringTracker.Callback#onNewPathwayAvailable(java.lang.String,java.lang.String,com.google.common.collect.ImmutableList<android.net.Uri>,com.google.common.collect.ImmutableList<android.net.Uri>)( https://developer.android.com/reference/java/lang/String.html newPathwayId, https://developer.android.com/reference/java/lang/String.html basePathwayId, https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/android/net/Uri.html> newUris, https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/android/net/Uri.html> baseUris )` Called when a new pathway cloned from an existing pathway becomes available. |

## Public methods

### onCurrentPathwayUpdated

```
abstract void onCurrentPathwayUpdated(
    String currentPathwayId,
    @Nullable String previousPathwayId,
    long previousPathwayExcludeDurationMs
)
```

Called when the current pathway is updated.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html currentPathwayId` | The current pathway ID after the update. |
| `@https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html previousPathwayId` | The pathway ID before the update, or `null` if the call of this method is the result of starting the tracker. |
| `long previousPathwayExcludeDurationMs` | The exclude duration in milliseconds if the update is due to the exclusion of the previous pathway, or `https://developer.android.com/reference/androidx/media3/common/C#TIME_UNSET()` if the previous pathway is not excluded. |

### onNewPathwayAvailable

```
abstract void onNewPathwayAvailable(
    String newPathwayId,
    String basePathwayId,
    ImmutableList<Uri> newUris,
    ImmutableList<Uri> baseUris
)
```

Called when a new pathway cloned from an existing pathway becomes available.

The lists `newUris` and `baseUris` have the equal size, and each URI in the `newUris` is cloned from the base URI in the `baseUris` of the same index.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html newPathwayId` | The new pathway ID. |
| `https://developer.android.com/reference/java/lang/String.html basePathwayId` | The base pathway ID. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/android/net/Uri.html> newUris` | The list of new cloned URIs. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/android/net/Uri.html> baseUris` | The list of base URIs. |