# PlaybackSeekDataProvider

Artifact: [androidx.leanback:leanback](https://developer.android.com/jetpack/androidx/releases/leanback) [View Source](https://cs.android.com/search?q=file:androidx/leanback/widget/PlaybackSeekDataProvider.java+class:androidx.leanback.widget.PlaybackSeekDataProvider) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

*** ** * ** ***

<br />

```
class PlaybackSeekDataProvider
```

<br />

*** ** * ** ***

Class to be implemented by app to provide seeking data and thumbnails to UI.

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider.ResultCallback` Client to receive result for `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider#getThumbnail(int,androidx.leanback.widget.PlaybackSeekDataProvider.ResultCallback)`. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider#PlaybackSeekDataProvider()()` |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html>!` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider#getSeekPositions()()` Get a list of sorted seek positions. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider#getThumbnail(int,androidx.leanback.widget.PlaybackSeekDataProvider.ResultCallback)( index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, callback: https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider.ResultCallback! )` Called to get thumbnail bitmap. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider#reset()()` Called when seek stops, Provider should cancel pending requests for the thumbnails. |

## Public constructors

### PlaybackSeekDataProvider

Added in 1.1.0

```
PlaybackSeekDataProvider()
```

## Public functions

### getSeekPositions

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun getSeekPositions(): Array<Long>!
```

Get a list of sorted seek positions. The positions should not change after user starts seeking.

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html>!` | A list of sorted seek positions. |

### getThumbnail

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun getThumbnail(
    index: Int,
    callback: PlaybackSeekDataProvider.ResultCallback!
): Unit
```

Called to get thumbnail bitmap. This method is called on UI thread. When provider finds cache bitmap, it may invoke `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider.ResultCallback#onThumbnailLoaded(android.graphics.Bitmap,int)` immediately. Provider may start background thread and invoke `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider.ResultCallback#onThumbnailLoaded(android.graphics.Bitmap,int)` later in UI thread. The method might be called multiple times for the same position, PlaybackSeekDataProvider must guarantee to replace pending `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider.ResultCallback` with the new one. When seeking right, getThumbnail() will be called with increasing index; when seeking left, getThumbnail() will be called with decreasing index. The increment of index can be used by subclass to determine prefetch direction.

| Parameters |
|---|---|
| `index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | Index of position in `https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider#getSeekPositions()`. |
| `callback: https://developer.android.com/reference/kotlin/androidx/leanback/widget/PlaybackSeekDataProvider.ResultCallback!` | The callback to receive the result on UI thread. It may be called within getThumbnail() if hit cache directly. |

### reset

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/leanback#1.1.0)

```
fun reset(): Unit
```

Called when seek stops, Provider should cancel pending requests for the thumbnails.