diff --git a/composeApp/src/androidMain/kotlin/com/nuvio/app/features/player/PlayerEngine.android.kt b/composeApp/src/androidMain/kotlin/com/nuvio/app/features/player/PlayerEngine.android.kt index ebdcfd92..20362f06 100644 --- a/composeApp/src/androidMain/kotlin/com/nuvio/app/features/player/PlayerEngine.android.kt +++ b/composeApp/src/androidMain/kotlin/com/nuvio/app/features/player/PlayerEngine.android.kt @@ -81,7 +81,9 @@ actual fun PlatformPlayerSurface( val lifecycleOwner = LocalLifecycleOwner.current val latestOnSnapshot = rememberUpdatedState(onSnapshot) val latestOnError = rememberUpdatedState(onError) + val latestPlayWhenReady = rememberUpdatedState(playWhenReady) val coroutineScope = rememberCoroutineScope() + val latestPlayWhenReady = rememberUpdatedState(playWhenReady) val playerSettings = remember { PlayerSettingsRepository.ensureLoaded() @@ -251,7 +253,7 @@ actual fun PlatformPlayerSurface( val activity = context.findActivity() val observer = LifecycleEventObserver { _, event -> when (event) { - Lifecycle.Event.ON_START -> exoPlayer.playWhenReady = playWhenReady + Lifecycle.Event.ON_START -> exoPlayer.playWhenReady = latestPlayWhenReady.value Lifecycle.Event.ON_STOP -> { val isInPictureInPicture = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && activity?.isInPictureInPictureMode == true @@ -271,7 +273,7 @@ actual fun PlatformPlayerSurface( } LaunchedEffect(exoPlayer, playWhenReady) { - exoPlayer.playWhenReady = playWhenReady + exoPlayer.playWhenReady = latestPlayWhenReady.value syncPlayerViewKeepScreenOn() latestOnSnapshot.value(exoPlayer.snapshot()) }