Migrate more preferences

This commit is contained in:
arkon
2020-04-18 11:16:26 -04:00
parent 04a178e7da
commit 53a3be0703
34 changed files with 218 additions and 295 deletions
@@ -19,7 +19,6 @@ import eu.davidea.flexibleadapter.FlexibleAdapter
import eu.davidea.flexibleadapter.items.IFlexible
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.preference.getOrDefault
import eu.kanade.tachiyomi.databinding.SourceMainControllerBinding
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.Source
@@ -31,8 +30,8 @@ import eu.kanade.tachiyomi.ui.setting.SettingsSourcesController
import eu.kanade.tachiyomi.ui.source.browse.BrowseSourceController
import eu.kanade.tachiyomi.ui.source.global_search.GlobalSearchController
import eu.kanade.tachiyomi.ui.source.latest.LatestUpdatesController
import eu.kanade.tachiyomi.util.lang.launchInUI
import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import reactivecircus.flowbinding.appcompat.QueryTextEvent
import reactivecircus.flowbinding.appcompat.queryTextEvents
@@ -141,14 +140,14 @@ class SourceController : NucleusController<SourceMainControllerBinding, SourcePr
}
private fun hideCatalogue(source: Source) {
val current = preferences.hiddenCatalogues().getOrDefault()
val current = preferences.hiddenCatalogues().get()
preferences.hiddenCatalogues().set(current + source.id.toString())
presenter.updateSources()
}
private fun pinCatalogue(source: Source, isPinned: Boolean) {
val current = preferences.pinnedCatalogues().getOrDefault()
val current = preferences.pinnedCatalogues().get()
if (isPinned) {
preferences.pinnedCatalogues().set(current - source.id.toString())
} else {
@@ -202,7 +201,7 @@ class SourceController : NucleusController<SourceMainControllerBinding, SourcePr
searchView.queryTextEvents()
.filter { it is QueryTextEvent.QuerySubmitted }
.onEach { performGlobalSearch(it.queryText.toString()) }
.launchInUI()
.launchIn(scope)
}
fun performGlobalSearch(query: String) {
@@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.ui.source
import android.os.Bundle
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.preference.getOrDefault
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.LocalSource
import eu.kanade.tachiyomi.source.SourceManager
@@ -49,7 +48,7 @@ class SourcePresenter(
sourceSubscription?.unsubscribe()
val pinnedSources = mutableListOf<SourceItem>()
val pinnedCatalogues = preferences.pinnedCatalogues().getOrDefault()
val pinnedCatalogues = preferences.pinnedCatalogues().get()
val map = TreeMap<String, MutableList<CatalogueSource>> { d1, d2 ->
// Catalogues without a lang defined will be placed at the end
@@ -102,8 +101,8 @@ class SourcePresenter(
* @return list containing enabled sources.
*/
private fun getEnabledSources(): List<CatalogueSource> {
val languages = preferences.enabledLanguages().getOrDefault()
val hiddenCatalogues = preferences.hiddenCatalogues().getOrDefault()
val languages = preferences.enabledLanguages().get()
val hiddenCatalogues = preferences.hiddenCatalogues().get()
return sourceManager.getCatalogueSources()
.filter { it.lang in languages }
@@ -32,7 +32,6 @@ import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.library.ChangeMangaCategoriesDialog
import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.ui.webview.WebViewActivity
import eu.kanade.tachiyomi.util.lang.launchInUI
import eu.kanade.tachiyomi.util.system.connectivityManager
import eu.kanade.tachiyomi.util.system.toast
import eu.kanade.tachiyomi.util.view.gone
@@ -43,6 +42,7 @@ import eu.kanade.tachiyomi.util.view.visible
import eu.kanade.tachiyomi.widget.AutofitRecyclerView
import eu.kanade.tachiyomi.widget.EmptyView
import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import reactivecircus.flowbinding.appcompat.QueryTextEvent
import reactivecircus.flowbinding.appcompat.queryTextEvents
@@ -241,7 +241,7 @@ open class BrowseSourceController(bundle: Bundle) :
.filter { router.backstack.lastOrNull()?.controller() == this@BrowseSourceController }
.filter { it is QueryTextEvent.QuerySubmitted }
.onEach { searchWithQuery(it.queryText.toString()) }
.launchInUI()
.launchIn(scope)
searchItem.fixExpand(
onExpand = { invalidateMenuOnExpand() },
@@ -16,8 +16,8 @@ import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.ui.base.controller.NucleusController
import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction
import eu.kanade.tachiyomi.ui.manga.MangaController
import eu.kanade.tachiyomi.util.lang.launchInUI
import kotlinx.coroutines.flow.filter
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import reactivecircus.flowbinding.appcompat.QueryTextEvent
import reactivecircus.flowbinding.appcompat.queryTextEvents
@@ -120,7 +120,7 @@ open class GlobalSearchController(
searchItem.collapseActionView()
setTitle() // Update toolbar title
}
.launchInUI()
.launchIn(scope)
}
/**
@@ -4,7 +4,6 @@ import android.os.Bundle
import eu.kanade.tachiyomi.data.database.DatabaseHelper
import eu.kanade.tachiyomi.data.database.models.Manga
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.preference.getOrDefault
import eu.kanade.tachiyomi.extension.ExtensionManager
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.Source
@@ -100,9 +99,9 @@ open class GlobalSearchPresenter(
* @return list containing enabled sources.
*/
protected open fun getEnabledSources(): List<CatalogueSource> {
val languages = preferences.enabledLanguages().getOrDefault()
val hiddenCatalogues = preferences.hiddenCatalogues().getOrDefault()
val pinnedCatalogues = preferences.pinnedCatalogues().getOrDefault()
val languages = preferences.enabledLanguages().get()
val hiddenCatalogues = preferences.hiddenCatalogues().get()
val pinnedCatalogues = preferences.pinnedCatalogues().get()
return sourceManager.getCatalogueSources()
.filter { it.lang in languages }