mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 00:10:32 +05:30
Merge pull request #2262 from Kruna1Pate1/fix/offline-player
Fix offline player play/pause button
This commit is contained in:
commit
ab175e473a
@ -317,7 +317,7 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
|
||||
BackgroundHelper.stopBackgroundPlay(requireContext())
|
||||
}
|
||||
|
||||
val playPauseClickListner = View.OnClickListener {
|
||||
binding.playImageView.setOnClickListener {
|
||||
if (!exoPlayer.isPlaying) {
|
||||
// start or go on playing
|
||||
if (exoPlayer.playbackState == Player.STATE_ENDED) {
|
||||
@ -330,8 +330,6 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
|
||||
exoPlayer.pause()
|
||||
}
|
||||
}
|
||||
playerBinding.playPauseBTN.setOnClickListener(playPauseClickListner)
|
||||
binding.playImageView.setOnClickListener(playPauseClickListner)
|
||||
|
||||
// video description and chapters toggle
|
||||
binding.playerTitleLayout.setOnClickListener {
|
||||
@ -976,15 +974,12 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
|
||||
if (exoPlayer.isPlaying) {
|
||||
// video is playing
|
||||
binding.playImageView.setImageResource(R.drawable.ic_pause)
|
||||
playerBinding.playPauseBTN.setImageResource(R.drawable.ic_pause)
|
||||
} else if (exoPlayer.playbackState == Player.STATE_ENDED) {
|
||||
// video has finished
|
||||
binding.playImageView.setImageResource(R.drawable.ic_restart)
|
||||
playerBinding.playPauseBTN.setImageResource(R.drawable.ic_restart)
|
||||
} else {
|
||||
// player in any other state
|
||||
binding.playImageView.setImageResource(R.drawable.ic_play)
|
||||
playerBinding.playPauseBTN.setImageResource(R.drawable.ic_play)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -125,6 +125,47 @@ internal class CustomExoPlayerView(
|
||||
"zoom" -> AspectRatioFrameLayout.RESIZE_MODE_ZOOM
|
||||
else -> AspectRatioFrameLayout.RESIZE_MODE_FIT
|
||||
}
|
||||
|
||||
binding.playPauseBTN.setOnClickListener {
|
||||
if (player?.isPlaying == false) {
|
||||
// start or go on playing
|
||||
if (player?.playbackState == Player.STATE_ENDED) {
|
||||
// restart video if finished
|
||||
player?.seekTo(0)
|
||||
}
|
||||
player?.play()
|
||||
} else {
|
||||
// pause the video
|
||||
player?.pause()
|
||||
}
|
||||
}
|
||||
|
||||
player?.addListener(object : Player.Listener {
|
||||
override fun onEvents(player: Player, events: Player.Events) {
|
||||
super.onEvents(player, events)
|
||||
if (events.containsAny(
|
||||
Player.EVENT_PLAYBACK_STATE_CHANGED,
|
||||
Player.EVENT_IS_PLAYING_CHANGED,
|
||||
Player.EVENT_PLAY_WHEN_READY_CHANGED
|
||||
)
|
||||
) {
|
||||
updatePlayPauseButton()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun updatePlayPauseButton() {
|
||||
if (player?.isPlaying == true) {
|
||||
// video is playing
|
||||
binding.playPauseBTN.setImageResource(R.drawable.ic_pause)
|
||||
} else if (player?.playbackState == Player.STATE_ENDED) {
|
||||
// video has finished
|
||||
binding.playPauseBTN.setImageResource(R.drawable.ic_restart)
|
||||
} else {
|
||||
// player in any other state
|
||||
binding.playPauseBTN.setImageResource(R.drawable.ic_play)
|
||||
}
|
||||
}
|
||||
|
||||
override fun hideController() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user