From e965528011c090bc99963806aea3795dd57bd644 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Mon, 9 Sep 2024 22:16:19 +0200 Subject: [PATCH] prevent showing loading indicator when reopening the player containing activity --- .../newplayer/model/VideoPlayerViewModelImpl.kt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModelImpl.kt b/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModelImpl.kt index 7dd37f6..7691e66 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModelImpl.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModelImpl.kt @@ -56,6 +56,7 @@ val VIDEOPLAYER_UI_STATE = "video_player_ui_state" private const val TAG = "VideoPlayerViewModel" +@UnstableApi @HiltViewModel class VideoPlayerViewModelImpl @Inject constructor( private val savedStateHandle: SavedStateHandle, @@ -183,12 +184,11 @@ class VideoPlayerViewModelImpl @Inject constructor( } } }) - } - newPlayer?.let { newPlayer -> + viewModelScope.launch { newPlayer.playBackMode.collect { newMode -> val currentMode = mutableUiState.value.uiMode.toPlayMode() - println("gurken mode: $currentMode newMode: $newMode") + if (currentMode != newMode) { mutableUiState.update { it.copy( @@ -225,6 +225,14 @@ class VideoPlayerViewModelImpl @Inject constructor( } } } + + mutableUiState.update { + it.copy( + playing = newPlayer.internalPlayer.isPlaying, + isLoading = !newPlayer.internalPlayer.isPlaying + && newPlayer.internalPlayer.isLoading + ) + } } }