From 12e89f68ecc4194fa97054f3256e9efd0186efa4 Mon Sep 17 00:00:00 2001 From: harambasicluka <64483219+harambasicluka@users.noreply.github.com> Date: Wed, 1 Jul 2020 08:57:23 +0200 Subject: [PATCH] Fix: Tracing clickable row switch (#787) * added isEnabled logic like it's on the switch * changed comment * exchanged formatter --- .../ui/settings/SettingsTracingFragment.kt | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt index 5cc6b9251..2142f7014 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsTracingFragment.kt @@ -21,6 +21,7 @@ import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel import de.rki.coronawarnapp.util.DialogHelper import de.rki.coronawarnapp.util.ExternalActionHelper +import de.rki.coronawarnapp.util.formatter.formatTracingSwitchEnabled import de.rki.coronawarnapp.worker.BackgroundWorkScheduler import kotlinx.coroutines.launch @@ -102,9 +103,20 @@ class SettingsTracingFragment : Fragment(), switch.setOnClickListener { startStopTracing() } - // Additional click target to toggle switch row.setOnClickListener { - if (row.isEnabled) startStopTracing() + val isTracingEnabled = + tracingViewModel.isTracingEnabled.value ?: throw IllegalArgumentException() + val isBluetoothEnabled = + settingsViewModel.isBluetoothEnabled.value ?: throw IllegalArgumentException() + val isConnectionEnabled = + settingsViewModel.isConnectionEnabled.value ?: throw IllegalArgumentException() + // check if the row is clickable, this adds the switch behaviour + val isEnabled = formatTracingSwitchEnabled( + isTracingEnabled, + isBluetoothEnabled, + isConnectionEnabled + ) + if (isEnabled) startStopTracing() } back.setOnClickListener { (activity as MainActivity).goBack() -- GitLab