diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt index 5d1f95f1..1cc96142 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailFragment.kt @@ -438,7 +438,7 @@ class VideoDetailFragment() : MainFragment() { fun onUserLeaveHint() { val viewDetail = _viewDetail; - Logger.i(TAG, "onUserLeaveHint preventPictureInPicture=${viewDetail?.preventPictureInPicture} isCasting=${StateCasting.instance.isCasting} isBackgroundPictureInPicture=${Settings.instance.playback.isBackgroundPictureInPicture()} allowBackground=${viewDetail?.allowBackground}"); + Logger.i(TAG, "onUserLeaveHint preventPictureInPicture=${viewDetail?.preventPictureInPicture} isCasting=${StateCasting.instance.isCasting} isBackgroundPictureInPicture=${Settings.instance.playback.isBackgroundPictureInPicture()} allowBackground=${viewDetail?.isAudioOnlyUserAction}"); if (viewDetail === null) { return @@ -447,7 +447,7 @@ class VideoDetailFragment() : MainFragment() { if (viewDetail.shouldEnterPictureInPicture) { _leavingPiP = false } - if(Build.VERSION.SDK_INT < Build.VERSION_CODES.S && viewDetail.preventPictureInPicture == false && !StateCasting.instance.isCasting && Settings.instance.playback.isBackgroundPictureInPicture() && !viewDetail.allowBackground) { + if(Build.VERSION.SDK_INT < Build.VERSION_CODES.S && viewDetail.preventPictureInPicture == false && !StateCasting.instance.isCasting && Settings.instance.playback.isBackgroundPictureInPicture() && !viewDetail.isAudioOnlyUserAction) { val params = _viewDetail?.getPictureInPictureParams(); if(params != null) { Logger.i(TAG, "enterPictureInPictureMode") @@ -527,7 +527,7 @@ class VideoDetailFragment() : MainFragment() { private fun stopIfRequired() { var shouldStop = true; - if (_viewDetail?.allowBackground == true) { + if (_viewDetail?.isAudioOnlyUserAction == true) { shouldStop = false; } else if (Settings.instance.playback.isBackgroundPictureInPicture() && !_leavingPiP) { shouldStop = false; 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 1481916e..3569a22f 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 @@ -324,7 +324,7 @@ class VideoDetailView : ConstraintLayout { val onEnterPictureInPicture = Event0(); val onVideoChanged = Event2() - var allowBackground: Boolean = false + var isAudioOnlyUserAction: Boolean = false private set(value) { if (field != value) { field = value @@ -336,7 +336,7 @@ class VideoDetailView : ConstraintLayout { get() = !preventPictureInPicture && !StateCasting.instance.isCasting && Settings.instance.playback.isBackgroundPictureInPicture() && - !allowBackground && + !isAudioOnlyUserAction && isPlaying val onShouldEnterPictureInPictureChanged = Event0(); @@ -759,7 +759,7 @@ class VideoDetailView : ConstraintLayout { MediaControlReceiver.onBackgroundReceived.subscribe(this) { Logger.i(TAG, "MediaControlReceiver.onBackgroundReceived") _player.switchToAudioMode(video); - allowBackground = true; + isAudioOnlyUserAction = true; StateApp.instance.contextOrNull?.let { try { if (it is MainActivity) { @@ -1004,14 +1004,14 @@ class VideoDetailView : ConstraintLayout { } _slideUpOverlay?.hide(); } else null, - if (!isLimitedVersion) RoundButton(context, R.drawable.ic_screen_share, if (allowBackground) context.getString(R.string.background_revert) else context.getString(R.string.background), TAG_BACKGROUND) { - if (!allowBackground) { + if (!isLimitedVersion) RoundButton(context, R.drawable.ic_screen_share, if (isAudioOnlyUserAction) context.getString(R.string.background_revert) else context.getString(R.string.background), TAG_BACKGROUND) { + if (!isAudioOnlyUserAction) { _player.switchToAudioMode(video); - allowBackground = true; + isAudioOnlyUserAction = true; it.text.text = resources.getString(R.string.background_revert); } else { _player.switchToVideoMode(); - allowBackground = false; + isAudioOnlyUserAction = false; it.text.text = resources.getString(R.string.background); } _slideUpOverlay?.hide(); @@ -1151,9 +1151,9 @@ class VideoDetailView : ConstraintLayout { if(_player.isAudioMode) { //Requested behavior to leave it in audio mode. leaving it commented if it causes issues, revert? - if(!allowBackground) { + if(!isAudioOnlyUserAction) { _player.switchToVideoMode(); - allowBackground = false; + isAudioOnlyUserAction = false; _buttonPins.getButtonByTag(TAG_BACKGROUND)?.text?.text = resources.getString(R.string.background); } } @@ -1171,7 +1171,7 @@ class VideoDetailView : ConstraintLayout { if (StateCasting.instance.isCasting) return; - if(allowBackground) + if(isAudioOnlyUserAction) StatePlayer.instance.startOrUpdateMediaSession(context, video); else { when (Settings.instance.playback.backgroundPlay) { @@ -1179,7 +1179,6 @@ class VideoDetailView : ConstraintLayout { 1 -> { if(!(video?.isLive ?: false)) { _player.switchToAudioMode(video); - allowBackground = true; } StatePlayer.instance.startOrUpdateMediaSession(context, video); } @@ -1965,10 +1964,10 @@ class VideoDetailView : ConstraintLayout { if (isLimitedVersion && _player.isAudioMode) { _player.switchToVideoMode() - allowBackground = false; + isAudioOnlyUserAction = false; } else { val thumbnail = video.thumbnails.getHQThumbnail(); - if ((videoSource == null || _player.isAudioMode) && !thumbnail.isNullOrBlank()) + if ((videoSource == null) && !thumbnail.isNullOrBlank()) // || _player.isAudioMode Glide.with(context).asBitmap().load(thumbnail) .into(object: CustomTarget() { override fun onResourceReady(resource: Bitmap, transition: Transition?) {