Merge pull request #2033 from Bnyro/prev-btn

Fix the next video button at the player
This commit is contained in:
Bnyro 2022-11-24 16:50:09 +01:00 committed by GitHub
commit cd43760352
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 13 deletions

View File

@ -0,0 +1,7 @@
package com.github.libretube.ui.extensions
import android.view.View
fun View.setInvisible(value: Boolean) {
this.visibility = if (value) View.INVISIBLE else View.VISIBLE
}

View File

@ -72,6 +72,7 @@ import com.github.libretube.ui.base.BaseFragment
import com.github.libretube.ui.dialogs.AddToPlaylistDialog
import com.github.libretube.ui.dialogs.DownloadDialog
import com.github.libretube.ui.dialogs.ShareDialog
import com.github.libretube.ui.extensions.setInvisible
import com.github.libretube.ui.extensions.setupSubscriptionButton
import com.github.libretube.ui.interfaces.OnlinePlayerOptions
import com.github.libretube.ui.models.PlayerViewModel
@ -953,19 +954,13 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
}
// next and previous buttons
playerBinding.skipPrev.visibility = if (
PlayerHelper.skipButtonsEnabled && PlayingQueue.hasPrev()
) {
View.VISIBLE
} else {
View.INVISIBLE
if (PlayerHelper.skipButtonsEnabled) {
playerBinding.skipPrev.setInvisible(!PlayingQueue.hasPrev())
playerBinding.skipNext.setInvisible(!PlayingQueue.hasNext())
}
playerBinding.skipNext.visibility =
if (PlayerHelper.skipButtonsEnabled) View.VISIBLE else View.INVISIBLE
playerBinding.skipPrev.setOnClickListener {
videoId = PlayingQueue.getPrev()
playVideo()
playNextVideo(PlayingQueue.getPrev())
}
playerBinding.skipNext.setOnClickListener {

View File

@ -45,12 +45,15 @@ object PlayingQueue {
}
fun getPrev(): String? {
val index = queue.indexOf(currentStream)
return if (index > 0) queue[index - 1].url?.toID() else null
return if (currentIndex() > 0) queue[currentIndex() - 1].url?.toID() else null
}
fun hasPrev(): Boolean {
return queue.indexOf(currentStream) > 0
return currentIndex() > 0
}
fun hasNext(): Boolean {
return currentIndex() + 1 < size()
}
fun updateCurrent(streamItem: StreamItem) {