mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-15 21:47:28 +01:00
Use Flow in ExtensionManager and SourceManager (#7547)
- Replace ExtensionManager relay and observable with Flow
- Inverse SourceManager dependency
- SourceManager observers ExtensionManager flow
- Separate SourceData from SourceRepository as it created a circular dependency
This commit is contained in:
@@ -14,7 +14,7 @@ class GetExtensionLanguages(
|
||||
fun subscribe(): Flow<List<String>> {
|
||||
return combine(
|
||||
preferences.enabledLanguages().asFlow(),
|
||||
extensionManager.getAvailableExtensionsObservable().asFlow(),
|
||||
extensionManager.getAvailableExtensionsFlow(),
|
||||
) { enabledLanguage, availableExtensions ->
|
||||
availableExtensions
|
||||
.map { it.lang }
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package eu.kanade.domain.extension.interactor
|
||||
|
||||
import eu.kanade.core.util.asFlow
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.extension.ExtensionManager
|
||||
import eu.kanade.tachiyomi.extension.model.Extension
|
||||
@@ -15,7 +14,7 @@ class GetExtensionUpdates(
|
||||
fun subscribe(): Flow<List<Extension.Installed>> {
|
||||
val showNsfwSources = preferences.showNsfwSource().get()
|
||||
|
||||
return extensionManager.getInstalledExtensionsObservable().asFlow()
|
||||
return extensionManager.getInstalledExtensionsFlow()
|
||||
.map { installed ->
|
||||
installed
|
||||
.filter { it.hasUpdate && (showNsfwSources || it.isNsfw.not()) }
|
||||
|
||||
@@ -19,9 +19,9 @@ class GetExtensions(
|
||||
|
||||
return combine(
|
||||
preferences.enabledLanguages().asFlow(),
|
||||
extensionManager.getInstalledExtensionsObservable().asFlow(),
|
||||
extensionManager.getUntrustedExtensionsObservable().asFlow(),
|
||||
extensionManager.getAvailableExtensionsObservable().asFlow(),
|
||||
extensionManager.getInstalledExtensionsFlow(),
|
||||
extensionManager.getUntrustedExtensionsFlow(),
|
||||
extensionManager.getAvailableExtensionsFlow(),
|
||||
) { _activeLanguages, _installed, _untrusted, _available ->
|
||||
|
||||
val installed = _installed
|
||||
|
||||
Reference in New Issue
Block a user