From 22fda501f49e0da577abf1447fe1fb55b4f6f0e3 Mon Sep 17 00:00:00 2001 From: tzugen Date: Sun, 21 May 2023 14:14:45 +0200 Subject: [PATCH] Ensure correct thread when accepting a rating --- .../moire/ultrasonic/adapters/TrackViewHolder.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/adapters/TrackViewHolder.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/adapters/TrackViewHolder.kt index 313c6dd9..2efea271 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/adapters/TrackViewHolder.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/adapters/TrackViewHolder.kt @@ -142,13 +142,15 @@ class TrackViewHolder(val view: View) : // Listen for rating updates rxBusSubscription!! += RxBus.ratingPublishedObservable.subscribe { - // Ignore updates which are not for the current song - if (it.id != song.id) return@subscribe + launch(Dispatchers.Main) { + // Ignore updates which are not for the current song + if (it.id != song.id) return@launch - if (it.rating is HeartRating) { - updateSingleStar(it.rating.isHeart) - } else if (it.rating is StarRating) { - updateFiveStars(it.rating.starRating.toInt()) + if (it.rating is HeartRating) { + updateSingleStar(it.rating.isHeart) + } else if (it.rating is StarRating) { + updateFiveStars(it.rating.starRating.toInt()) + } } } }