From ea4fea4401aba65bebd715e874c94e7a9c9d6517 Mon Sep 17 00:00:00 2001 From: Kelvin <kelvin@futo.org> Date: Sat, 13 Jan 2024 00:51:00 +0100 Subject: [PATCH] Deduplication priorities fixed, playpause button change and wakelock on interruption fixed --- .../fragment/mainactivity/main/VideoDetailView.kt | 2 +- .../subscription/SubscriptionsTaskFetchAlgorithm.kt | 2 +- .../com/futo/platformplayer/views/video/FutoVideoPlayer.kt | 5 ++++- .../futo/platformplayer/views/video/FutoVideoPlayerBase.kt | 4 ++++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt index ed6a6c8e..a80b1aab 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt @@ -1857,7 +1857,7 @@ class VideoDetailView : ConstraintLayout { } } - private fun c(playing: Boolean) { + private fun handlePlayChanged(playing: Boolean) { Logger.i(TAG, "handlePlayChanged(playing=$playing)") val ad = StateCasting.instance.activeDevice; diff --git a/app/src/main/java/com/futo/platformplayer/subscription/SubscriptionsTaskFetchAlgorithm.kt b/app/src/main/java/com/futo/platformplayer/subscription/SubscriptionsTaskFetchAlgorithm.kt index 5acbc4cd..9be47538 100644 --- a/app/src/main/java/com/futo/platformplayer/subscription/SubscriptionsTaskFetchAlgorithm.kt +++ b/app/src/main/java/com/futo/platformplayer/subscription/SubscriptionsTaskFetchAlgorithm.kt @@ -126,7 +126,7 @@ abstract class SubscriptionsTaskFetchAlgorithm( val pager = MultiChronoContentPager(groupedPagers, allowFailure, 15); pager.initialize(); - return Result(DedupContentPager(pager), exs); + return Result(DedupContentPager(pager, StatePlatform.instance.getEnabledClients().map { it.id }), exs); } fun executeSubscriptionTasks(tasks: List<SubscriptionTask>, failedPlugins: MutableList<String>, cachedChannels: MutableList<String>): List<ForkJoinTask<SubscriptionTaskResult>> { diff --git a/app/src/main/java/com/futo/platformplayer/views/video/FutoVideoPlayer.kt b/app/src/main/java/com/futo/platformplayer/views/video/FutoVideoPlayer.kt index f5ab5137..a84dcef6 100644 --- a/app/src/main/java/com/futo/platformplayer/views/video/FutoVideoPlayer.kt +++ b/app/src/main/java/com/futo/platformplayer/views/video/FutoVideoPlayer.kt @@ -629,7 +629,10 @@ class FutoVideoPlayer : FutoVideoPlayerBase { } } - override fun onPlay + override fun onIsPlayingChanged(playing: Boolean) { + super.onIsPlayingChanged(playing) + updatePlayPause(); + } override fun onPlaybackStateChanged(playbackState: Int) { Logger.v(TAG, "onPlaybackStateChanged $playbackState"); updatePlayPause() diff --git a/app/src/main/java/com/futo/platformplayer/views/video/FutoVideoPlayerBase.kt b/app/src/main/java/com/futo/platformplayer/views/video/FutoVideoPlayerBase.kt index eda60133..d60a3f8e 100644 --- a/app/src/main/java/com/futo/platformplayer/views/video/FutoVideoPlayerBase.kt +++ b/app/src/main/java/com/futo/platformplayer/views/video/FutoVideoPlayerBase.kt @@ -106,6 +106,7 @@ abstract class FutoVideoPlayerBase : RelativeLayout { override fun onIsPlayingChanged(isPlaying: Boolean) { super.onIsPlayingChanged(isPlaying); + this@FutoVideoPlayerBase.onIsPlayingChanged(isPlaying); updatePlaying(); } @@ -625,6 +626,9 @@ abstract class FutoVideoPlayerBase : RelativeLayout { } protected open fun onSourceChanged(videoSource: IVideoSource?, audioSource: IAudioSource? = null, resume: Boolean = true) { } + protected open fun onIsPlayingChanged(playing: Boolean) { + + } protected open fun onPlaybackStateChanged(playbackState: Int) { if (_shouldPlaybackRestartOnConnectivity && playbackState == ExoPlayer.STATE_READY) { Logger.i(TAG, "_shouldPlaybackRestartOnConnectivity=false"); -- GitLab