PlayerStateObserver

@UnstableApi
class PlayerStateObserver


Utility to observe Player states by listening to events.

Summary

Public constructors

PlayerStateObserver(
    player: Player,
    firstEvent: @Player.Event Int,
    vararg otherEvents: Int,
    stateUpdater: (Player) -> Unit
)

Creates a PlayerStateObserver that triggers stateUpdater initially and whenever one of the configured events happen.

PlayerStateObserver(
    player: Player,
    firstEvent: @Player.Event Int,
    vararg otherEvents: Int,
    stateUpdater: (Player, Player.Events) -> Unit
)

Creates a PlayerStateObserver that triggers stateUpdater initially (with all configured Player.Events) and whenever one of the configured events happen.

PlayerStateObserver(
    player: Player,
    firstEvent: @Player.Event Int,
    vararg otherEvents: Int,
    initialStateUpdater: (Player) -> Unit,
    stateUpdater: (Player, Player.Events) -> Unit
)

Public functions

suspend Nothing

Observes updates from the configured Player.Events.

Public constructors

PlayerStateObserver

PlayerStateObserver(
    player: Player,
    firstEvent: @Player.Event Int,
    vararg otherEvents: Int,
    stateUpdater: (Player) -> Unit
)

Creates a PlayerStateObserver that triggers stateUpdater initially and whenever one of the configured events happen.

Parameters
player: Player

The Player.

firstEvent: @Player.Event Int

The first Player.Event to listen to.

vararg otherEvents: Int

Additional Player.Event types to listen to.

stateUpdater: (Player) -> Unit

The operation to trigger initially and whenever one of the configured events happen.

PlayerStateObserver

PlayerStateObserver(
    player: Player,
    firstEvent: @Player.Event Int,
    vararg otherEvents: Int,
    stateUpdater: (Player, Player.Events) -> Unit
)

Creates a PlayerStateObserver that triggers stateUpdater initially (with all configured Player.Events) and whenever one of the configured events happen.

Parameters
player: Player

The Player.

firstEvent: @Player.Event Int

The first Player.Event to listen to.

vararg otherEvents: Int

Additional Player.Event types to listen to.

stateUpdater: (Player, Player.Events) -> Unit

The operation to trigger initially (with all configured Player.Events) and whenever one of the configured events happen.

PlayerStateObserver

PlayerStateObserver(
    player: Player,
    firstEvent: @Player.Event Int,
    vararg otherEvents: Int,
    initialStateUpdater: (Player) -> Unit,
    stateUpdater: (Player, Player.Events) -> Unit
)
Parameters
player: Player

The Player.

firstEvent: @Player.Event Int

The first Player.Event to listen to.

vararg otherEvents: Int

Additional Player.Event types to listen to.

initialStateUpdater: (Player) -> Unit

The operation to trigger initially on creation and when observe starts.

stateUpdater: (Player, Player.Events) -> Unit

The operation to trigger whenever one of the configured events happen. The provided Player.Events contains only the subset of configured events that occurred.

Public functions

observe

suspend fun observe(): Nothing

Observes updates from the configured Player.Events.