mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 08:20: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
|
override val titleResourceId: Int = R.string.instance
|
||||||
private val token get() = PreferenceHelper.getToken()
|
private val token get() = PreferenceHelper.getToken()
|
||||||
private var instances = listOf<PipedInstance>()
|
private var instances = listOf<PipedInstance>()
|
||||||
|
private val authInstanceToggle get() = findPreference<SwitchPreferenceCompat>(PreferenceKeys.AUTH_INSTANCE_TOGGLE)!!
|
||||||
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
setPreferencesFromResource(R.xml.instance_settings, rootKey)
|
setPreferencesFromResource(R.xml.instance_settings, rootKey)
|
||||||
@ -44,7 +45,6 @@ class InstanceSettings : BasePreferenceFragment() {
|
|||||||
)!!
|
)!!
|
||||||
val authInstance = findPreference<ListPreference>(PreferenceKeys.AUTH_INSTANCE)!!
|
val authInstance = findPreference<ListPreference>(PreferenceKeys.AUTH_INSTANCE)!!
|
||||||
val instancePrefs = listOf(instancePref, authInstance)
|
val instancePrefs = listOf(instancePref, authInstance)
|
||||||
|
|
||||||
val appContext = requireContext().applicationContext
|
val appContext = requireContext().applicationContext
|
||||||
|
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
@ -62,15 +62,6 @@ class InstanceSettings : BasePreferenceFragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
instancePref.setOnPreferenceChangeListener { _, _ ->
|
|
||||||
if (!authInstanceToggle.isChecked) {
|
|
||||||
logoutAndUpdateUI()
|
|
||||||
}
|
|
||||||
RetrofitInstance.lazyMgr.reset()
|
|
||||||
ActivityCompat.recreate(requireActivity())
|
|
||||||
true
|
|
||||||
}
|
|
||||||
|
|
||||||
authInstance.setOnPreferenceChangeListener { _, _ ->
|
authInstance.setOnPreferenceChangeListener { _, _ ->
|
||||||
RetrofitInstance.lazyMgr.reset()
|
RetrofitInstance.lazyMgr.reset()
|
||||||
logoutAndUpdateUI()
|
logoutAndUpdateUI()
|
||||||
@ -190,6 +181,7 @@ class InstanceSettings : BasePreferenceFragment() {
|
|||||||
.setView(binding.root)
|
.setView(binding.root)
|
||||||
.setPositiveButton(R.string.okay) { _, _ ->
|
.setPositiveButton(R.string.okay) { _, _ ->
|
||||||
preference.value = selectedInstance
|
preference.value = selectedInstance
|
||||||
|
resetForNewInstance()
|
||||||
}
|
}
|
||||||
.setNegativeButton(R.string.cancel, null)
|
.setNegativeButton(R.string.cancel, null)
|
||||||
.show()
|
.show()
|
||||||
@ -203,6 +195,14 @@ class InstanceSettings : BasePreferenceFragment() {
|
|||||||
findPreference<Preference>(PreferenceKeys.DELETE_ACCOUNT)?.isEnabled = false
|
findPreference<Preference>(PreferenceKeys.DELETE_ACCOUNT)?.isEnabled = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun resetForNewInstance() {
|
||||||
|
if (!authInstanceToggle.isChecked) {
|
||||||
|
logoutAndUpdateUI()
|
||||||
|
}
|
||||||
|
RetrofitInstance.lazyMgr.reset()
|
||||||
|
ActivityCompat.recreate(requireActivity())
|
||||||
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val INSTANCE_DIALOG_REQUEST_KEY = "instance_dialog_request_key"
|
const val INSTANCE_DIALOG_REQUEST_KEY = "instance_dialog_request_key"
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user