Artwork should only show when audio mode is not transitioning out.

This commit is contained in:
Koen J 2025-07-21 17:03:00 +02:00
commit 2b8dc41d0d

View file

@ -939,10 +939,6 @@ class VideoDetailView : ConstraintLayout {
else false; else false;
} ?: false; } ?: false;
if (isLimitedVersion && _player.isAudioMode) {
_player.switchToVideoMode()
}
val buttons = listOf(RoundButton(context, R.drawable.ic_add, context.getString(R.string.add), TAG_ADD) { val buttons = listOf(RoundButton(context, R.drawable.ic_add, context.getString(R.string.add), TAG_ADD) {
(video ?: _searchVideo)?.let { (video ?: _searchVideo)?.let {
_slideUpOverlay = UISlideOverlays.showAddToOverlay(it, _overlayContainer) { _slideUpOverlay = UISlideOverlays.showAddToOverlay(it, _overlayContainer) {
@ -1118,6 +1114,7 @@ class VideoDetailView : ConstraintLayout {
//Requested behavior to leave it in audio mode. leaving it commented if it causes issues, revert? //Requested behavior to leave it in audio mode. leaving it commented if it causes issues, revert?
if(!allowBackground) { if(!allowBackground) {
_player.switchToVideoMode(); _player.switchToVideoMode();
allowBackground = false;
_buttonPins.getButtonByTag(TAG_BACKGROUND)?.text?.text = resources.getString(R.string.background); _buttonPins.getButtonByTag(TAG_BACKGROUND)?.text?.text = resources.getString(R.string.background);
} }
} }
@ -1141,8 +1138,10 @@ class VideoDetailView : ConstraintLayout {
when (Settings.instance.playback.backgroundPlay) { when (Settings.instance.playback.backgroundPlay) {
0 -> handlePause(); 0 -> handlePause();
1 -> { 1 -> {
if(!(video?.isLive ?: false)) if(!(video?.isLive ?: false)) {
_player.switchToAudioMode(video); _player.switchToAudioMode(video);
allowBackground = true;
}
StatePlayer.instance.startOrUpdateMediaSession(context, video); StatePlayer.instance.startOrUpdateMediaSession(context, video);
} }
} }
@ -1876,6 +1875,16 @@ class VideoDetailView : ConstraintLayout {
if (!isCasting) { if (!isCasting) {
setCastEnabled(false); setCastEnabled(false);
val isLimitedVersion = StatePlatform.instance.getContentClientOrNull(video.url)?.let {
if (it is JSClient)
return@let it.config.reduceFunctionsInLimitedVersion && BuildConfig.IS_PLAYSTORE_BUILD
else false;
} ?: false;
if (isLimitedVersion && _player.isAudioMode) {
_player.switchToVideoMode()
allowBackground = false;
} else {
val thumbnail = video.thumbnails.getHQThumbnail(); val thumbnail = video.thumbnails.getHQThumbnail();
if ((videoSource == null || _player.isAudioMode) && !thumbnail.isNullOrBlank()) if ((videoSource == null || _player.isAudioMode) && !thumbnail.isNullOrBlank())
Glide.with(context).asBitmap().load(thumbnail) Glide.with(context).asBitmap().load(thumbnail)
@ -1889,6 +1898,7 @@ class VideoDetailView : ConstraintLayout {
}); });
else else
_player.setArtwork(null); _player.setArtwork(null);
}
_player.setSource(videoSource, audioSource, _playWhenReady, false, resume = resumePositionMs > 0); _player.setSource(videoSource, audioSource, _playWhenReady, false, resume = resumePositionMs > 0);
if(subtitleSource != null) if(subtitleSource != null)
_player.swapSubtitles(fragment.lifecycleScope, subtitleSource); _player.swapSubtitles(fragment.lifecycleScope, subtitleSource);