# TvView.TimeShiftPositionCallback

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# TimeShiftPositionCallback

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/media/tv/TvView.TimeShiftPositionCallback "View this page in Java")  

```
abstract class TimeShiftPositionCallback
```

|---|--------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                         ||
| ↳ | [android.media.tv.TvView.TimeShiftPositionCallback](https://developer.android.com/reference/kotlin/android/media/tv/TvView.TimeShiftPositionCallback#) |

Callback used to receive time shift position changes.

## Summary

|                                                                           Public constructors                                                                           ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [TimeShiftPositionCallback](https://developer.android.com/reference/kotlin/android/media/tv/TvView.TimeShiftPositionCallback#TimeShiftPositionCallback())`()` <br /> |

|                                                                                                                                                                                                                                                                       Public methods                                                                                                                                                                                                                                                                        ||
|----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| open[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [onTimeShiftCurrentPositionChanged](https://developer.android.com/reference/kotlin/android/media/tv/TvView.TimeShiftPositionCallback#onTimeShiftCurrentPositionChanged(kotlin.String,%20kotlin.Long))`(`inputId:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`, `timeMs:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` This is called when the current position for time shifting has changed. |
| open[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [onTimeShiftStartPositionChanged](https://developer.android.com/reference/kotlin/android/media/tv/TvView.TimeShiftPositionCallback#onTimeShiftStartPositionChanged(kotlin.String,%20kotlin.Long))`(`inputId:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`, `timeMs:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` This is called when the start position for time shifting has changed.       |

## Public constructors

### TimeShiftPositionCallback

```
TimeShiftPositionCallback()
```

## Public methods

### onTimeShiftCurrentPositionChanged

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
open fun onTimeShiftCurrentPositionChanged(
    inputId: String!, 
    timeMs: Long
): Unit
```

This is called when the current position for time shifting has changed.

The current position for time shifting is the same as the current position of playback. During playback, the current position changes continuously. When paused, it does not change.

Note that`timeMs`is wall-clock time.

|                                                                            Parameters                                                                            ||
|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
| `inputId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!:The ID of the TV input bound to this view.                          |
| `timeMs`  | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html):The current position for time shifting, in milliseconds since the epoch. |

### onTimeShiftStartPositionChanged

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
open fun onTimeShiftStartPositionChanged(
    inputId: String!, 
    timeMs: Long
): Unit
```

This is called when the start position for time shifting has changed.

The start position for time shifting indicates the earliest possible time the user can seek to. Initially this is equivalent to the time when the underlying TV input starts recording. Later it may be adjusted because there is insufficient space or the duration of recording is limited. The application must not allow the user to seek to a position earlier than the start position.

For playback of a recorded program initiated by[timeShiftPlay(java.lang.String,android.net.Uri)](https://developer.android.com/reference/kotlin/android/media/tv/TvView#timeShiftPlay(kotlin.String,%20android.net.Uri)), the start position is the time when playback starts. It does not change.

|                                                                           Parameters                                                                           ||
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| `inputId` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!:The ID of the TV input bound to this view.                        |
| `timeMs`  | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html):The start position for time shifting, in milliseconds since the epoch. |