From 798939b186d3f5708b8660f72d94771ab7d2b129 Mon Sep 17 00:00:00 2001 From: Dave Craig Date: Sun, 22 Mar 2026 10:10:05 +0000 Subject: [PATCH] Fix crashlytics issue where handleSeek not overriden for Seek buttons SoundscapeDummyMediaPlayer didn't override handleSeek and it seems that it can be called for some media button input. The result was an unhandled exception. This change adds in handling of the Seeks so that any calls there will be used in whatever way the MediaControls target requires. --- .../mediacontrol/SoundscapeDummyMediaPlayer.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/src/main/java/org/scottishtecharmy/soundscape/services/mediacontrol/SoundscapeDummyMediaPlayer.kt b/app/src/main/java/org/scottishtecharmy/soundscape/services/mediacontrol/SoundscapeDummyMediaPlayer.kt index 5efd95b0..bd022dd7 100644 --- a/app/src/main/java/org/scottishtecharmy/soundscape/services/mediacontrol/SoundscapeDummyMediaPlayer.kt +++ b/app/src/main/java/org/scottishtecharmy/soundscape/services/mediacontrol/SoundscapeDummyMediaPlayer.kt @@ -64,6 +64,23 @@ class SoundscapeDummyMediaPlayer( return Futures.immediateVoidFuture() } + override fun handleSeek( + mediaItemIndex: Int, + positionMs: Long, + seekCommand: @Player.Command Int + ): ListenableFuture<*> { + when (seekCommand) { + COMMAND_SEEK_TO_NEXT, + COMMAND_SEEK_FORWARD, + COMMAND_SEEK_TO_NEXT_MEDIA_ITEM -> getTarget().onNext() + + COMMAND_SEEK_TO_PREVIOUS, + COMMAND_SEEK_BACK, + COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM -> getTarget().onPrevious() + } + return Futures.immediateVoidFuture() + } + override fun handleStop(): ListenableFuture<*> = Futures.immediateVoidFuture() } \ No newline at end of file