mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 00:10:32 +05:30
Fix instance reload on instance changed in settings.
This commit is contained in:
parent
cc06278c70
commit
769919bb7c
@ -34,6 +34,7 @@ class InstanceSettings : BasePreferenceFragment() {
|
||||
override val titleResourceId: Int = R.string.instance
|
||||
private val token get() = PreferenceHelper.getToken()
|
||||
private var instances = listOf<PipedInstance>()
|
||||
private val authInstanceToggle get() = findPreference<SwitchPreferenceCompat>(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<ListPreference>(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<Preference>(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"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user