From 6c7f6d4b192386bf4f974e6b302b284462acea28 Mon Sep 17 00:00:00 2001 From: Jonathan Fisher Date: Mon, 9 Nov 2020 22:08:56 +0000 Subject: [PATCH] tls prefs wip --- .../ariane/ui/settings/SettingsFragment.kt | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/oppen/ariane/ui/settings/SettingsFragment.kt b/app/src/main/java/oppen/ariane/ui/settings/SettingsFragment.kt index 23b35bd..fd8bd01 100644 --- a/app/src/main/java/oppen/ariane/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/oppen/ariane/ui/settings/SettingsFragment.kt @@ -41,19 +41,32 @@ class SettingsFragment: PreferenceFragmentCompat(), Preference.OnPreferenceChang } override fun onPreferenceChange(preference: Preference?, newValue: Any?): Boolean { - - preference?.key?.let{ key -> - if(key.startsWith("tls_")){ - protocols.forEach {protocol -> - val tlsSwitchKey = "tls_${protocol.toLowerCase(Locale.getDefault())}" - if(tlsSwitchKey != key){ - val otherTLSSwitch = preferenceScreen.findPreference(tlsSwitchKey) - otherTLSSwitch?.isChecked = false + if(preference is SwitchPreferenceCompat && newValue is Boolean && newValue == true) { + preference.key?.let { key -> + if (key.startsWith("tls_")) { + protocols.forEach { protocol -> + val tlsSwitchKey = "tls_${protocol.toLowerCase(Locale.getDefault())}" + if (tlsSwitchKey != key) { + val otherTLSSwitch = + preferenceScreen.findPreference(tlsSwitchKey) + otherTLSSwitch?.isChecked = false + } } } } + + setTLSProtocol(preference.title.toString()) + + return true } - return true + return false + } + + private fun setTLSProtocol(protocol: String){ + preferenceManager.sharedPreferences.edit().putString( + "tls_protocol", + protocol + ).apply() } }