From 1fb55dca0a0eebbdf17a967bb274a9dc0506c3a5 Mon Sep 17 00:00:00 2001 From: Koen J Date: Thu, 24 Jul 2025 13:44:04 +0200 Subject: [PATCH] On casting device disconnect, only set play when ready to true if it was also playing on the TV device. --- .../fragment/mainactivity/main/VideoDetailView.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 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 ce783fa5..3dbde51b 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 @@ -649,7 +649,7 @@ class VideoDetailView : ConstraintLayout { } if (!isInEditMode) { - StateCasting.instance.onActiveDeviceConnectionStateChanged.subscribe(this) { _, connectionState -> + StateCasting.instance.onActiveDeviceConnectionStateChanged.subscribe(this) { device, connectionState -> if (_onPauseCalled) { return@subscribe; } @@ -661,7 +661,7 @@ class VideoDetailView : ConstraintLayout { setCastEnabled(true); } CastConnectionState.DISCONNECTED -> { - loadCurrentVideo(lastPositionMilliseconds); + loadCurrentVideo(lastPositionMilliseconds, playWhenReady = device.isPlaying); updatePillButtonVisibilities(); setCastEnabled(false); @@ -1880,7 +1880,7 @@ class VideoDetailView : ConstraintLayout { } //Source Loads - private fun loadCurrentVideo(resumePositionMs: Long = 0) { + private fun loadCurrentVideo(resumePositionMs: Long = 0, playWhenReady: Boolean = true) { _didStop = false; val video = (videoLocal ?: video) ?: return; @@ -1925,7 +1925,7 @@ class VideoDetailView : ConstraintLayout { else _player.setArtwork(null); } - _player.setSource(videoSource, audioSource, _playWhenReady, false, resume = resumePositionMs > 0); + _player.setSource(videoSource, audioSource, _playWhenReady && playWhenReady, false, resume = resumePositionMs > 0); if(subtitleSource != null) _player.swapSubtitles(fragment.lifecycleScope, subtitleSource); _player.seekTo(resumePositionMs);