mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-16 05:57:29 +01:00
Add operator functions for handling set preferences
This commit is contained in:
@@ -26,6 +26,8 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.EmptyPreferenceDataStore
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.data.preference.minusAssign
|
||||
import eu.kanade.tachiyomi.data.preference.plusAssign
|
||||
import eu.kanade.tachiyomi.databinding.ExtensionDetailControllerBinding
|
||||
import eu.kanade.tachiyomi.extension.model.Extension
|
||||
import eu.kanade.tachiyomi.source.CatalogueSource
|
||||
@@ -197,15 +199,11 @@ class ExtensionDetailsController(bundle: Bundle? = null) :
|
||||
}
|
||||
|
||||
private fun toggleSource(source: Source, enable: Boolean) {
|
||||
val current = preferences.disabledSources().get()
|
||||
|
||||
preferences.disabledSources().set(
|
||||
if (enable) {
|
||||
current - source.id.toString()
|
||||
} else {
|
||||
current + source.id.toString()
|
||||
}
|
||||
)
|
||||
if (enable) {
|
||||
preferences.disabledSources() -= source.id.toString()
|
||||
} else {
|
||||
preferences.disabledSources() += source.id.toString()
|
||||
}
|
||||
}
|
||||
|
||||
private fun openInSettings() {
|
||||
|
||||
@@ -17,6 +17,8 @@ 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.minusAssign
|
||||
import eu.kanade.tachiyomi.data.preference.plusAssign
|
||||
import eu.kanade.tachiyomi.databinding.SourceMainControllerBinding
|
||||
import eu.kanade.tachiyomi.source.CatalogueSource
|
||||
import eu.kanade.tachiyomi.source.LocalSource
|
||||
@@ -152,8 +154,7 @@ class SourceController :
|
||||
}
|
||||
|
||||
private fun disableSource(source: Source) {
|
||||
val current = preferences.disabledSources().get()
|
||||
preferences.disabledSources().set(current + source.id.toString())
|
||||
preferences.disabledSources() += source.id.toString()
|
||||
|
||||
presenter.updateSources()
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@ import androidx.preference.CheckBoxPreference
|
||||
import androidx.preference.PreferenceGroup
|
||||
import androidx.preference.PreferenceScreen
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.minusAssign
|
||||
import eu.kanade.tachiyomi.data.preference.plusAssign
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
import eu.kanade.tachiyomi.source.getPreferenceKey
|
||||
import eu.kanade.tachiyomi.source.icon
|
||||
@@ -54,12 +56,11 @@ class SourceFilterController : SettingsController() {
|
||||
|
||||
onChange { newValue ->
|
||||
val checked = newValue as Boolean
|
||||
val current = preferences.enabledLanguages().get()
|
||||
if (!checked) {
|
||||
preferences.enabledLanguages().set(current - lang)
|
||||
preferences.enabledLanguages() -= lang
|
||||
removeAll()
|
||||
} else {
|
||||
preferences.enabledLanguages().set(current + lang)
|
||||
preferences.enabledLanguages() += lang
|
||||
addLanguageSources(this, sources)
|
||||
}
|
||||
true
|
||||
@@ -97,16 +98,11 @@ class SourceFilterController : SettingsController() {
|
||||
|
||||
onChange { newValue ->
|
||||
val checked = newValue as Boolean
|
||||
val current = preferences.disabledSources().get()
|
||||
|
||||
preferences.disabledSources().set(
|
||||
if (checked) {
|
||||
current - id
|
||||
} else {
|
||||
current + id
|
||||
}
|
||||
)
|
||||
|
||||
if (checked) {
|
||||
preferences.disabledSources() -= id
|
||||
} else {
|
||||
preferences.disabledSources() += id
|
||||
}
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user