Skip to content

Commit 91bacf0

Browse files
authored
Merge pull request libre-tube#7455 from Bnyro/master
fix: crash when opening other video while in background player
2 parents cf04450 + 28b59fa commit 91bacf0

2 files changed

Lines changed: 7 additions & 7 deletions

File tree

app/src/main/java/com/github/libretube/helpers/NavigationHelper.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ object NavigationHelper {
6565
val activity = ContextHelper.unwrapActivity<MainActivity>(context)
6666
val attachedToRunningPlayer = activity.runOnPlayerFragment {
6767
try {
68-
this.playNextVideo(videoUrlOrId.toID())
6968
PlayingQueue.clear()
69+
this.playNextVideo(videoUrlOrId.toID())
7070

7171
if (audioOnlyPlayerRequested) {
7272
// switch to audio only player
@@ -85,12 +85,12 @@ object NavigationHelper {
8585
if (attachedToRunningPlayer) return
8686

8787
val attachedToRunningAudioPlayer = activity.runOnAudioPlayerFragment {
88-
this.playNextVideo(videoUrlOrId.toID())
8988
PlayingQueue.clear()
89+
this.playNextVideo(videoUrlOrId.toID())
9090

9191
if (!audioOnlyPlayerRequested) {
9292
// switch to video only player
93-
this.switchToVideoMode()
93+
this.switchToVideoMode(videoUrlOrId.toID())
9494
} else {
9595
// maximize player
9696
this.binding.playerMotionLayout.transitionToStart()

app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ class AudioPlayerFragment : Fragment(R.layout.fragment_audio_player), AudioPlaye
175175
}
176176

177177
binding.openVideo.setOnClickListener {
178-
switchToVideoMode()
178+
switchToVideoMode(PlayingQueue.getCurrent()?.url!!.toID())
179179
}
180180

181181
childFragmentManager.setFragmentResultListener(
@@ -260,7 +260,7 @@ class AudioPlayerFragment : Fragment(R.layout.fragment_audio_player), AudioPlaye
260260
}
261261
}
262262

263-
fun switchToVideoMode() {
263+
fun switchToVideoMode(videoId: String) {
264264
playerController?.sendCustomCommand(
265265
AbstractPlayerService.runPlayerActionCommand,
266266
bundleOf(PlayerCommand.TOGGLE_AUDIO_ONLY_MODE.name to false)
@@ -270,7 +270,7 @@ class AudioPlayerFragment : Fragment(R.layout.fragment_audio_player), AudioPlaye
270270

271271
NavigationHelper.openVideoPlayerFragment(
272272
context = requireContext(),
273-
videoId = PlayingQueue.getCurrent()?.url!!.toID(),
273+
videoId = videoId,
274274
alreadyStarted = true,
275275
)
276276
}
@@ -492,7 +492,7 @@ class AudioPlayerFragment : Fragment(R.layout.fragment_audio_player), AudioPlaye
492492
private fun updateVolume(distance: Float) {
493493
val bar = binding.volumeProgressBar
494494
binding.volumeControls.apply {
495-
if (visibility == View.GONE) {
495+
if (isGone) {
496496
isVisible = true
497497
// Volume could be changed using other mediums, sync progress
498498
// bar with new value.

0 commit comments

Comments
 (0)