From fea515a5261d8aa1071c131353f9b1bc0c827590 Mon Sep 17 00:00:00 2001 From: tzugen Date: Sat, 23 Oct 2021 16:50:33 +0200 Subject: [PATCH] Replace consumer use with a lambda --- .../service/MediaPlayerLifecycleSupport.kt | 37 +++++++++---------- .../service/PlaybackStateSerializer.kt | 6 +-- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/MediaPlayerLifecycleSupport.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/MediaPlayerLifecycleSupport.kt index 5bc0801e..1bcdfce5 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/MediaPlayerLifecycleSupport.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/MediaPlayerLifecycleSupport.kt @@ -63,26 +63,25 @@ class MediaPlayerLifecycleSupport : KoinComponent { mediaPlayerController.onCreate() if (autoPlay) mediaPlayerController.preload() - playbackStateSerializer.deserialize(object : Consumer() { - override fun accept(state: State?) { - mediaPlayerController.restore( - state!!.songs, - state.currentPlayingIndex, - state.currentPlayingPosition, - autoPlay, - false - ) + playbackStateSerializer.deserialize { - // Work-around: Serialize again, as the restore() method creates a - // serialization without current playing info. - playbackStateSerializer.serialize( - downloader.playlist, - downloader.currentPlayingIndex, - mediaPlayerController.playerPosition - ) - afterCreated?.run() - } - }) + mediaPlayerController.restore( + it!!.songs, + it.currentPlayingIndex, + it.currentPlayingPosition, + autoPlay, + false + ) + + // Work-around: Serialize again, as the restore() method creates a + // serialization without current playing info. + playbackStateSerializer.serialize( + downloader.playlist, + downloader.currentPlayingIndex, + mediaPlayerController.playerPosition + ) + afterCreated?.run() + } CacheCleaner().clean() created = true diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/PlaybackStateSerializer.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/PlaybackStateSerializer.kt index c74254bd..4e3c0692 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/PlaybackStateSerializer.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/PlaybackStateSerializer.kt @@ -81,7 +81,7 @@ class PlaybackStateSerializer : KoinComponent { mediaSessionHandler.updateMediaSessionQueue(state.songs) } - fun deserialize(afterDeserialized: Consumer) { + fun deserialize(afterDeserialized: (State?) -> Unit?) { appScope.launch { try { @@ -94,7 +94,7 @@ class PlaybackStateSerializer : KoinComponent { } } - private fun deserializeNow(afterDeserialized: Consumer) { + private fun deserializeNow(afterDeserialized: (State?) -> Unit?) { val state = FileUtil.deserialize( context, Constants.FILENAME_PLAYLIST_SER @@ -107,6 +107,6 @@ class PlaybackStateSerializer : KoinComponent { ) mediaSessionHandler.updateMediaSessionQueue(state.songs) - afterDeserialized.accept(state) + afterDeserialized(state) } }