diff --git a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt index 467c9564b..20fd982e7 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt @@ -315,16 +315,9 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions { BackgroundHelper.stopBackgroundPlay(requireContext()) } - playerBinding.repeatBTN.setOnClickListener { - // Restart video if finished - exoPlayer.seekTo(0) - exoPlayer.play() - } - - binding.playImageView.setOnClickListener { + val playPauseClickListner = View.OnClickListener { if (!exoPlayer.isPlaying) { // start or go on playing - binding.playImageView.setImageResource(R.drawable.ic_pause) if (exoPlayer.playbackState == Player.STATE_ENDED) { // restart video if finished exoPlayer.seekTo(0) @@ -332,10 +325,11 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions { exoPlayer.play() } else { // pause the video - binding.playImageView.setImageResource(R.drawable.ic_play) exoPlayer.pause() } } + playerBinding.playPauseBTN.setOnClickListener(playPauseClickListner) + binding.playImageView.setOnClickListener(playPauseClickListner) // video description and chapters toggle binding.playerTitleLayout.setOnClickListener { @@ -977,18 +971,15 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions { if (exoPlayer.isPlaying) { // video is playing binding.playImageView.setImageResource(R.drawable.ic_pause) - playerBinding.exoPlayPause.visibility = View.VISIBLE - playerBinding.repeatBTN.visibility = View.GONE + 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.exoPlayPause.visibility = View.GONE - playerBinding.repeatBTN.visibility = View.VISIBLE + playerBinding.playPauseBTN.setImageResource(R.drawable.ic_restart) } else { // player in any other state binding.playImageView.setImageResource(R.drawable.ic_play) - playerBinding.exoPlayPause.visibility = View.VISIBLE - playerBinding.repeatBTN.visibility = View.GONE + playerBinding.playPauseBTN.setImageResource(R.drawable.ic_play) } } diff --git a/app/src/main/java/com/github/libretube/ui/views/CustomExoPlayerView.kt b/app/src/main/java/com/github/libretube/ui/views/CustomExoPlayerView.kt index 4da4fe780..e6eefcd83 100644 --- a/app/src/main/java/com/github/libretube/ui/views/CustomExoPlayerView.kt +++ b/app/src/main/java/com/github/libretube/ui/views/CustomExoPlayerView.kt @@ -272,7 +272,7 @@ internal class CustomExoPlayerView( binding.exoBottomBar.visibility = visibility binding.closeImageButton.visibility = visibility binding.exoTitle.visibility = visibility - binding.exoPlayPause.visibility = visibility + binding.playPauseBTN.visibility = visibility // disable tap and swipe gesture if the player is locked playerGestureController.isEnabled = isLocked diff --git a/app/src/main/res/layout/exo_styled_player_control_view.xml b/app/src/main/res/layout/exo_styled_player_control_view.xml index 9a14b0a1c..5710ef259 100644 --- a/app/src/main/res/layout/exo_styled_player_control_view.xml +++ b/app/src/main/res/layout/exo_styled_player_control_view.xml @@ -277,20 +277,12 @@ - -