mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Instantiate extension preferences with proper datastore earlier
This commit is contained in:
		| @@ -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) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user