diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt index 24a10b028..ae2abcff7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt @@ -25,8 +25,11 @@ import exh.source.EH_SOURCE_ID import exh.source.EXH_SOURCE_ID import exh.source.MERGED_SOURCE_ID import kotlinx.coroutines.async +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asSharedFlow import kotlinx.coroutines.flow.asStateFlow import logcat.LogPriority import rx.Observable @@ -107,15 +110,15 @@ class ExtensionManager( var availableExtensions = emptyList() private set(value) { field = value - availableExtensionsFlow.value = field + availableExtensionsFlow.tryEmit(field) updatedInstalledExtensionsStatuses(value) setupAvailableExtensionsSourcesDataMap(value) } - private val availableExtensionsFlow = MutableStateFlow(availableExtensions) + private val availableExtensionsFlow = MutableSharedFlow>(replay = 1) - fun getAvailableExtensionsFlow(): StateFlow> { - return availableExtensionsFlow.asStateFlow() + fun getAvailableExtensionsFlow(): Flow> { + return availableExtensionsFlow.asSharedFlow() } private var availableExtensionsSourcesData: Map = mapOf()