From 6ff8f7c1e9b7da06128685550c39498343aefff4 Mon Sep 17 00:00:00 2001 From: Christian Schabesberger Date: Wed, 7 Aug 2024 19:01:16 +0200 Subject: [PATCH] fix issue that fast seek indicator does not disabpear on fullscreen switch --- .../newplayer/model/VideoPlayerViewModel.kt | 2 +- .../newplayer/model/VideoPlayerViewModelImpl.kt | 17 ++++++++++------- .../net/newpipe/newplayer/ui/VideoPlayerUI.kt | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModel.kt b/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModel.kt index 1b1870f..f42b6d8 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModel.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/model/VideoPlayerViewModel.kt @@ -49,7 +49,7 @@ interface VideoPlayerViewModel { fun seekingFinished() fun embeddedDraggedDown(offset: Float) fun fastSeek(count: Int) - fun fastSeekFinished() + fun finishFastSeek() interface Listener { fun onFullscreenToggle(isFullscreen: Boolean) {} 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 315cc3b..534f357 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 @@ -279,19 +279,22 @@ class VideoPlayerViewModelImpl @Inject constructor( } } - override fun fastSeekFinished() { + override fun finishFastSeek() { val fastSeekAmount = mutableUiState.value.fastseekSeconds - Log.d(TAG, "$fastSeekAmount") + if (fastSeekAmount != 0) { + Log.d(TAG, "$fastSeekAmount") - newPlayer?.currentPosition = (newPlayer?.currentPosition ?: 0) + (fastSeekAmount * 1000) - mutableUiState.update { - it.copy(fastseekSeconds = 0) + newPlayer?.currentPosition = (newPlayer?.currentPosition ?: 0) + (fastSeekAmount * 1000) + mutableUiState.update { + it.copy(fastseekSeconds = 0) + } } } override fun switchToEmbeddedView() { callbackListeners.forEach { it?.onFullscreenToggle(false) } uiVisibilityJob?.cancel() + finishFastSeek() mutableUiState.update { it.copy(fullscreen = false, uiVissible = false) } @@ -300,7 +303,7 @@ class VideoPlayerViewModelImpl @Inject constructor( override fun switchToFullscreen() { callbackListeners.forEach { it?.onFullscreenToggle(true) } uiVisibilityJob?.cancel() - + finishFastSeek() mutableUiState.update { it.copy(fullscreen = true, uiVissible = false) } @@ -371,7 +374,7 @@ class VideoPlayerViewModelImpl @Inject constructor( println("dummy impl") } - override fun fastSeekFinished() { + override fun finishFastSeek() { println("dummy impl") } diff --git a/new-player/src/main/java/net/newpipe/newplayer/ui/VideoPlayerUI.kt b/new-player/src/main/java/net/newpipe/newplayer/ui/VideoPlayerUI.kt index 680ff8d..45c1f7a 100644 --- a/new-player/src/main/java/net/newpipe/newplayer/ui/VideoPlayerUI.kt +++ b/new-player/src/main/java/net/newpipe/newplayer/ui/VideoPlayerUI.kt @@ -165,7 +165,7 @@ fun VideoPlayerUI( seekingFinished = viewModel::seekingFinished, embeddedDraggedDownBy = viewModel::embeddedDraggedDown, fastSeek = viewModel::fastSeek, - finishFastSeek = viewModel::fastSeekFinished + finishFastSeek = viewModel::finishFastSeek ) } }