From 5f5104122049b1bfdb5e327e24329d04b601a61e Mon Sep 17 00:00:00 2001 From: Koitharu Date: Fri, 26 Sep 2025 08:55:00 +0300 Subject: [PATCH] Fix crash: add error handling for scrobbling info --- .../kotlin/org/koitharu/kotatsu/details/ui/DetailsViewModel.kt | 1 + .../scrobbling/common/ui/config/ScrobblerConfigViewModel.kt | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsViewModel.kt b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsViewModel.kt index 57d2028d7..abece99b1 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsViewModel.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/details/ui/DetailsViewModel.kt @@ -140,6 +140,7 @@ class DetailsViewModel @Inject constructor( get() = scrobblers.any { it.isEnabled } val scrobblingInfo: StateFlow> = interactor.observeScrobblingInfo(mangaId) + .withErrorHandling() .stateIn(viewModelScope + Dispatchers.Default, SharingStarted.Eagerly, emptyList()) val relatedManga: StateFlow> = manga.mapLatest { diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/scrobbling/common/ui/config/ScrobblerConfigViewModel.kt b/app/src/main/kotlin/org/koitharu/kotatsu/scrobbling/common/ui/config/ScrobblerConfigViewModel.kt index ca5f614cc..754a4abd5 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/scrobbling/common/ui/config/ScrobblerConfigViewModel.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/scrobbling/common/ui/config/ScrobblerConfigViewModel.kt @@ -7,7 +7,6 @@ import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted -import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach @@ -47,7 +46,7 @@ class ScrobblerConfigViewModel @Inject constructor( val content = scrobbler.observeAllScrobblingInfo() .onStart { loadingCounter.increment() } .onFirst { loadingCounter.decrement() } - .catch { errorEvent.call(it) } + .withErrorHandling() .map { buildContentList(it) } .stateIn(viewModelScope + Dispatchers.Default, SharingStarted.Eagerly, emptyList())