Эх сурвалжийг харах

Properly modify StateFlow value (#7059)

jobobby04 2 жил өмнө
parent
commit
ed8a54bd2a

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaPresenter.kt

@@ -27,10 +27,10 @@ class MigrationMangaPresenter(
             getFavoritesBySourceId
                 .subscribe(sourceId)
                 .catch { exception ->
-                    _state.emit(MigrateMangaState.Error(exception))
+                    _state.value = MigrateMangaState.Error(exception)
                 }
                 .collectLatest { list ->
-                    _state.emit(MigrateMangaState.Success(list))
+                    _state.value = MigrateMangaState.Success(list)
                 }
         }
     }

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesPresenter.kt

@@ -28,10 +28,10 @@ class MigrationSourcesPresenter(
         presenterScope.launchIO {
             getSourcesWithFavoriteCount.subscribe()
                 .catch { exception ->
-                    _state.emit(MigrateSourceState.Error(exception))
+                    _state.value = MigrateSourceState.Error(exception)
                 }
                 .collectLatest { sources ->
-                    _state.emit(MigrateSourceState.Success(sources))
+                    _state.value = MigrateSourceState.Success(sources)
                 }
         }
     }

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourceFilterPresenter.kt

@@ -31,11 +31,11 @@ class SourceFilterPresenter(
         presenterScope.launchIO {
             getLanguagesWithSources.subscribe()
                 .catch { exception ->
-                    _state.emit(SourceFilterState.Error(exception))
+                    _state.value = SourceFilterState.Error(exception)
                 }
                 .collectLatest { sourceLangMap ->
                     val uiModels = sourceLangMap.toFilterUiModels()
-                    _state.emit(SourceFilterState.Success(uiModels))
+                    _state.value = SourceFilterState.Success(uiModels)
                 }
         }
     }

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcePresenter.kt

@@ -36,7 +36,7 @@ class SourcePresenter(
         presenterScope.launchIO {
             getEnabledSources.subscribe()
                 .catch { exception ->
-                    _state.emit(SourceState.Error(exception))
+                    _state.value = SourceState.Error(exception)
                 }
                 .collectLatest(::collectLatestSources)
         }
@@ -71,7 +71,7 @@ class SourcePresenter(
                 }.toTypedArray(),
             )
         }
-        _state.emit(SourceState.Success(uiModels))
+        _state.value = SourceState.Success(uiModels)
     }
 
     fun toggleSource(source: Source) {

+ 8 - 9
app/src/main/java/eu/kanade/tachiyomi/ui/more/MorePresenter.kt

@@ -8,6 +8,7 @@ import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
 import eu.kanade.tachiyomi.util.lang.launchIO
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.flow.asStateFlow
 import rx.Observable
 import rx.Subscription
 import rx.android.schedulers.AndroidSchedulers
@@ -24,7 +25,7 @@ class MorePresenter(
     val incognitoMode = preferencesHelper.incognitoMode().asState()
 
     private var _state: MutableStateFlow<DownloadQueueState> = MutableStateFlow(DownloadQueueState.Stopped)
-    val downloadQueueState: StateFlow<DownloadQueueState> = _state
+    val downloadQueueState: StateFlow<DownloadQueueState> = _state.asStateFlow()
 
     private var isDownloading: Boolean = false
     private var downloadQueueSize: Int = 0
@@ -66,14 +67,12 @@ class MorePresenter(
     private fun updateDownloadQueueState() {
         presenterScope.launchIO {
             val pendingDownloadExists = downloadQueueSize != 0
-            _state.emit(
-                when {
-                    !pendingDownloadExists -> DownloadQueueState.Stopped
-                    !isDownloading && !pendingDownloadExists -> DownloadQueueState.Paused(0)
-                    !isDownloading && pendingDownloadExists -> DownloadQueueState.Paused(downloadQueueSize)
-                    else -> DownloadQueueState.Downloading(downloadQueueSize)
-                }
-            )
+            _state.value = when {
+                !pendingDownloadExists -> DownloadQueueState.Stopped
+                !isDownloading && !pendingDownloadExists -> DownloadQueueState.Paused(0)
+                !isDownloading && pendingDownloadExists -> DownloadQueueState.Paused(downloadQueueSize)
+                else -> DownloadQueueState.Downloading(downloadQueueSize)
+            }
         }
     }
 

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/recent/history/HistoryPresenter.kt

@@ -53,14 +53,14 @@ class HistoryPresenter(
             _query.collectLatest { query ->
                 getHistory.subscribe(query)
                     .catch { exception ->
-                        _state.emit(HistoryState.Error(exception))
+                        _state.value = HistoryState.Error(exception)
                     }
                     .map { pagingData ->
                         pagingData.toHistoryUiModels()
                     }
                     .cachedIn(presenterScope)
                     .let { uiModelsPagingDataFlow ->
-                        _state.emit(HistoryState.Success(uiModelsPagingDataFlow))
+                        _state.value = HistoryState.Success(uiModelsPagingDataFlow)
                     }
             }
         }