From 1c5d7fe21419e6287d81776e1622075ec1f16488 Mon Sep 17 00:00:00 2001 From: tzugen Date: Thu, 9 Mar 2023 13:02:00 +0100 Subject: [PATCH] Fix crashes with Jukebox --- gradle/libs.versions.toml | 2 +- .../org/moire/ultrasonic/fragment/PlayerFragment.kt | 4 +++- .../org/moire/ultrasonic/service/JukeboxMediaPlayer.kt | 4 ++++ .../ultrasonic/service/JukeboxUnimplementedFunctions.kt | 8 -------- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 08917782..44872adb 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -25,7 +25,7 @@ swipeRefresh = "1.1.0" retrofit = "2.9.0" jackson = "2.14.2" okhttp = "4.10.0" -koin = "3.3.3" +koin = "3.3.2" picasso = "2.8" junit4 = "4.13.2" diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/PlayerFragment.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/PlayerFragment.kt index 9e3b4d7a..e2b67224 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/PlayerFragment.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/PlayerFragment.kt @@ -299,7 +299,9 @@ class PlayerFragment : } playButton.setOnClickListener { - networkAndStorageChecker.warnIfNetworkOrStorageUnavailable() + if (!mediaPlayerController.isJukeboxEnabled) + networkAndStorageChecker.warnIfNetworkOrStorageUnavailable() + launch(CommunicationError.getHandler(context)) { mediaPlayerController.play() onCurrentChanged() diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/JukeboxMediaPlayer.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/JukeboxMediaPlayer.kt index 4cc9f635..d8550f09 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/JukeboxMediaPlayer.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/JukeboxMediaPlayer.kt @@ -273,6 +273,10 @@ class JukeboxMediaPlayer : JukeboxUnimplementedFunctions(), Player { seekTo((jukeboxStatus?.positionSeconds ?: 0) + SEEK_INCREMENT_SECONDS) } + override fun isCurrentMediaItemSeekable() = true + + override fun isCurrentMediaItemLive() = false + override fun prepare() {} override fun isPlaying(): Boolean { diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/JukeboxUnimplementedFunctions.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/JukeboxUnimplementedFunctions.kt index c6d4ca8e..eeba3b52 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/JukeboxUnimplementedFunctions.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/JukeboxUnimplementedFunctions.kt @@ -189,18 +189,10 @@ abstract class JukeboxUnimplementedFunctions : Service(), Player { TODO("Not yet implemented") } - override fun isCurrentMediaItemLive(): Boolean { - TODO("Not yet implemented") - } - override fun isCurrentWindowSeekable(): Boolean { TODO("Not yet implemented") } - override fun isCurrentMediaItemSeekable(): Boolean { - TODO("Not yet implemented") - } - override fun clearVideoSurface() { TODO("Not yet implemented") }