From 172953ccb3d5914d7dbd3d309f3987c758e616ae Mon Sep 17 00:00:00 2001 From: darken Date: Thu, 27 Oct 2022 07:49:47 +0200 Subject: [PATCH] Fix monitor mode being set to ALWAYS when visiting the reactions settings screen. Fixes #41 --- .../capod/reaction/ui/ReactionSettingsFragment.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/darken/capod/reaction/ui/ReactionSettingsFragment.kt b/app/src/main/java/eu/darken/capod/reaction/ui/ReactionSettingsFragment.kt index 2863e1c9..77ab7cbf 100644 --- a/app/src/main/java/eu/darken/capod/reaction/ui/ReactionSettingsFragment.kt +++ b/app/src/main/java/eu/darken/capod/reaction/ui/ReactionSettingsFragment.kt @@ -88,10 +88,15 @@ class ReactionSettingsFragment : PreferenceFragment3() { return super.onPreferenceTreeClick(preference) } + // Some UI interactions shortly turn autoConnect on, then off again + private val previousMonitorMode by lazy { generalSettings.monitorMode.value } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - settings.autoConnect.flow.asLiveData().observe2 { - generalSettings.monitorMode.value = MonitorMode.ALWAYS - autoConnectConditionPref.isEnabled = it + settings.autoConnect.flow.asLiveData().observe2 { isEnabled -> + if (isEnabled) generalSettings.monitorMode.value = MonitorMode.ALWAYS + else generalSettings.monitorMode.value = previousMonitorMode + + autoConnectConditionPref.isEnabled = isEnabled } vm.isPro.observe2 { isPro = it }