Migrate extensions language filter screen to compose (#7169)

This commit is contained in:
FourTOne5
2022-05-20 03:29:40 +06:00
committed by GitHub
parent 4be9b03ac6
commit fd9510e18f
5 changed files with 195 additions and 36 deletions

View File

@@ -0,0 +1,30 @@
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.util.system.LocaleHelper
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
class GetExtensionLanguages(
private val preferences: PreferencesHelper,
private val extensionManager: ExtensionManager,
) {
fun subscribe(): Flow<List<String>> {
return combine(
preferences.enabledLanguages().asFlow(),
extensionManager.getAvailableExtensionsObservable().asFlow(),
) { enabledLanguage, availableExtensions ->
availableExtensions
.map { it.lang }
.distinct()
.sortedWith(
compareBy(
{ it !in enabledLanguage },
{ LocaleHelper.getDisplayName(it) },
),
)
}
}
}