From 85b17d7a76fdafec150edbb695c68fa88914c32b Mon Sep 17 00:00:00 2001 From: Jannik Date: Sat, 27 Aug 2022 13:59:30 +0200 Subject: [PATCH] improve buttonNextEp hiding behaviour * the button will be diabled on PlayerActivity.playNextEpisode() * the button will only be enabled if PlayerViewModel.playNextEpisode() returns * remainingTime will be set to 0, if duration < 0, this fixes the button reapring after a few 100 ms when beeing pressed fixes #53 --- .../teapod/ui/activity/player/PlayerActivity.kt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/mosad/teapod/ui/activity/player/PlayerActivity.kt b/app/src/main/java/org/mosad/teapod/ui/activity/player/PlayerActivity.kt index e0ceb64..da0b46b 100644 --- a/app/src/main/java/org/mosad/teapod/ui/activity/player/PlayerActivity.kt +++ b/app/src/main/java/org/mosad/teapod/ui/activity/player/PlayerActivity.kt @@ -302,6 +302,8 @@ class PlayerActivity : AppCompatActivity() { if (model.player.duration > 0) { remainingTime = model.player.duration - currentPosition remainingTime = if (remainingTime < 0) 0 else remainingTime + } else { + remainingTime = 0 } // TODO add metaDB ending_start support @@ -428,8 +430,16 @@ class PlayerActivity : AppCompatActivity() { } private fun playNextEpisode() { - model.playNextEpisode() + // disable the next episode buttons, so a user can't double click it + playerBinding.buttonNextEp.isClickable = false + controlsBinding.buttonNextEpC.isClickable = false + hideButtonNextEp() + model.playNextEpisode() + + // enable the next episode buttons when playNextEpisode() has returned + playerBinding.buttonNextEp.isClickable = true + controlsBinding.buttonNextEpC.isClickable = true } private fun skipOpening() {