Instantiate extension preferences with proper datastore earlier
This commit is contained in:
parent
4bfd395d9f
commit
5700c7a0c7
@ -40,7 +40,7 @@ class EmptyPreferenceDataStore : PreferenceDataStore() {
|
||||
}
|
||||
|
||||
override fun getStringSet(key: String?, defValues: Set<String>?): Set<String>? {
|
||||
return emptySet()
|
||||
return null
|
||||
}
|
||||
|
||||
override fun putStringSet(key: String?, values: Set<String>?) {
|
||||
|
@ -21,7 +21,6 @@ import androidx.preference.PreferenceManager
|
||||
import androidx.preference.PreferenceScreen
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.preference.EmptyPreferenceDataStore
|
||||
import eu.kanade.tachiyomi.data.preference.SharedPreferencesDataStore
|
||||
import eu.kanade.tachiyomi.databinding.SourcePreferencesControllerBinding
|
||||
import eu.kanade.tachiyomi.source.ConfigurableSource
|
||||
@ -66,7 +65,10 @@ class SourcePreferencesController(bundle: Bundle? = null) :
|
||||
|
||||
val themedContext by lazy { getPreferenceThemeContext() }
|
||||
val manager = PreferenceManager(themedContext)
|
||||
manager.preferenceDataStore = EmptyPreferenceDataStore()
|
||||
val dataStore = SharedPreferencesDataStore(
|
||||
context.getSharedPreferences(source.getPreferenceKey(), Context.MODE_PRIVATE)
|
||||
)
|
||||
manager.preferenceDataStore = dataStore
|
||||
manager.onDisplayPreferenceDialogListener = this
|
||||
val screen = manager.createPreferenceScreen(themedContext)
|
||||
preferenceScreen = screen
|
||||
@ -101,10 +103,6 @@ class SourcePreferencesController(bundle: Bundle? = null) :
|
||||
private fun addPreferencesForSource(screen: PreferenceScreen, source: Source) {
|
||||
val context = screen.context
|
||||
|
||||
val dataStore = SharedPreferencesDataStore(
|
||||
context.getSharedPreferences(source.getPreferenceKey(), Context.MODE_PRIVATE)
|
||||
)
|
||||
|
||||
if (source is ConfigurableSource) {
|
||||
val newScreen = screen.preferenceManager.createPreferenceScreen(context)
|
||||
source.setupPreferenceScreen(newScreen)
|
||||
@ -113,7 +111,6 @@ class SourcePreferencesController(bundle: Bundle? = null) :
|
||||
while (newScreen.preferenceCount != 0) {
|
||||
val pref = newScreen.getPreference(0)
|
||||
pref.isIconSpaceReserved = false
|
||||
pref.preferenceDataStore = dataStore
|
||||
pref.order = Int.MAX_VALUE // reset to default order
|
||||
|
||||
newScreen.removePreference(pref)
|
||||
|
Loading…
Reference in New Issue
Block a user