feat(player): display controller permanently on endscreen

This commit is contained in:
FineFindus 2024-03-26 20:30:05 +01:00 committed by Bnyro
parent c0dac7cba0
commit 0d2edb6547
3 changed files with 12 additions and 4 deletions

View File

@ -345,8 +345,10 @@ object PlayerHelper {
fun shouldPlayNextVideo(isPlaylist: Boolean = false): Boolean { fun shouldPlayNextVideo(isPlaylist: Boolean = false): Boolean {
// if there is no next video, it obviously should not be played // if there is no next video, it obviously should not be played
if (PlayingQueue.getNext() == null) if (!PlayingQueue.hasNext()) {
return false return false
}
return autoPlayEnabled || ( return autoPlayEnabled || (
isPlaylist && PreferenceHelper.getBoolean( isPlaylist && PreferenceHelper.getBoolean(
PreferenceKeys.AUTOPLAY_PLAYLISTS, PreferenceKeys.AUTOPLAY_PLAYLISTS,

View File

@ -113,11 +113,11 @@ import com.github.libretube.util.PlayingQueue
import com.github.libretube.util.TextUtils import com.github.libretube.util.TextUtils
import com.github.libretube.util.TextUtils.toTimeInSeconds import com.github.libretube.util.TextUtils.toTimeInSeconds
import com.github.libretube.util.YoutubeHlsPlaylistParser import com.github.libretube.util.YoutubeHlsPlaylistParser
import java.util.concurrent.Executors
import kotlin.math.abs
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import java.util.concurrent.Executors
import kotlin.math.abs
@androidx.annotation.OptIn(androidx.media3.common.util.UnstableApi::class) @androidx.annotation.OptIn(androidx.media3.common.util.UnstableApi::class)
class PlayerFragment : Fragment(), OnlinePlayerOptions { class PlayerFragment : Fragment(), OnlinePlayerOptions {
@ -313,7 +313,7 @@ class PlayerFragment : Fragment(), OnlinePlayerOptions {
playNextVideo() playNextVideo()
} }
} else { } else {
binding.player.showController() binding.player.showControllerPermanently()
} }
} }

View File

@ -269,6 +269,12 @@ open class CustomExoPlayerView(
super.showController() super.showController()
} }
fun showControllerPermanently() {
// remove the previous callback from the queue to prevent a flashing behavior
cancelHideControllerTask()
super.showController()
}
override fun onTouchEvent(event: MotionEvent) = false override fun onTouchEvent(event: MotionEvent) = false
private fun initRewindAndForward() { private fun initRewindAndForward() {