From 769919bb7cf2f6834a1ce50d6628c8a0e9f35f2a Mon Sep 17 00:00:00 2001 From: RafaRamos Date: Thu, 11 Jan 2024 16:39:45 +0100 Subject: [PATCH] Fix instance reload on instance changed in settings. --- .../ui/preferences/InstanceSettings.kt | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt b/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt index 2ecb31bdb..a46e6abe5 100644 --- a/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt +++ b/app/src/main/java/com/github/libretube/ui/preferences/InstanceSettings.kt @@ -34,6 +34,7 @@ class InstanceSettings : BasePreferenceFragment() { override val titleResourceId: Int = R.string.instance private val token get() = PreferenceHelper.getToken() private var instances = listOf() + private val authInstanceToggle get() = findPreference(PreferenceKeys.AUTH_INSTANCE_TOGGLE)!! override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.instance_settings, rootKey) @@ -44,7 +45,6 @@ class InstanceSettings : BasePreferenceFragment() { )!! val authInstance = findPreference(PreferenceKeys.AUTH_INSTANCE)!! val instancePrefs = listOf(instancePref, authInstance) - val appContext = requireContext().applicationContext lifecycleScope.launch { @@ -62,15 +62,6 @@ class InstanceSettings : BasePreferenceFragment() { } } - instancePref.setOnPreferenceChangeListener { _, _ -> - if (!authInstanceToggle.isChecked) { - logoutAndUpdateUI() - } - RetrofitInstance.lazyMgr.reset() - ActivityCompat.recreate(requireActivity()) - true - } - authInstance.setOnPreferenceChangeListener { _, _ -> RetrofitInstance.lazyMgr.reset() logoutAndUpdateUI() @@ -190,6 +181,7 @@ class InstanceSettings : BasePreferenceFragment() { .setView(binding.root) .setPositiveButton(R.string.okay) { _, _ -> preference.value = selectedInstance + resetForNewInstance() } .setNegativeButton(R.string.cancel, null) .show() @@ -203,6 +195,14 @@ class InstanceSettings : BasePreferenceFragment() { findPreference(PreferenceKeys.DELETE_ACCOUNT)?.isEnabled = false } + private fun resetForNewInstance() { + if (!authInstanceToggle.isChecked) { + logoutAndUpdateUI() + } + RetrofitInstance.lazyMgr.reset() + ActivityCompat.recreate(requireActivity()) + } + companion object { const val INSTANCE_DIALOG_REQUEST_KEY = "instance_dialog_request_key" }