diff options
| author | Albin <albin@mullvad.net> | 2022-11-16 13:39:54 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2022-11-16 13:48:52 +0100 |
| commit | e4e1b25c98b261a48ef6e133a7ea45cc52dbf2d7 (patch) | |
| tree | 4cb5e45af94056cc9053f693526a8991199a9e3b /android | |
| parent | 18b1685dea0d5cae709d5ef8f16d14d4fe003cec (diff) | |
| download | mullvadvpn-e4e1b25c98b261a48ef6e133a7ea45cc52dbf2d7.tar.xz mullvadvpn-e4e1b25c98b261a48ef6e133a7ea45cc52dbf2d7.zip | |
Revert "Set custom dns toggle in onStart"
Reverts non-working fix for custom dns toggle inconsistency.
The result is working custom dns toggle behavior which is in
sync with the previous releases (2022.2, 2022.3).
This reverts commit 880b529651f2db43d51c44d65576aa3ce315f05a.
Diffstat (limited to 'android')
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt index 4e3fff52c9..30b9608a9d 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt @@ -16,7 +16,6 @@ import kotlinx.coroutines.flow.emptyFlow import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map -import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.flow.shareIn import kotlinx.coroutines.launch import net.mullvad.mullvadvpn.R @@ -57,7 +56,7 @@ class AdvancedFragment : BaseFragment() { @Deprecated("Refactor code to instead rely on Lifecycle.") private val jobTracker = JobTracker() - val sharedCustomDnsInstance = serviceConnectionManager.connectionState + val shared = serviceConnectionManager.connectionState .flatMapLatest { state -> if (state is ServiceConnectionState.ConnectedReady) { flowOf(state.container) @@ -94,12 +93,9 @@ class AdvancedFragment : BaseFragment() { } launch { - sharedCustomDnsInstance - .flatMapLatest { customDnsInstance -> - callbackFlowFromNotifier(customDnsInstance.onEnabledChanged) - .onStart { - emit(customDnsInstance.isCustomDnsEnabled()) - } + shared + .flatMapLatest { + callbackFlowFromNotifier(it.onEnabledChanged) } .collect { isEnabled -> customDnsAdapter?.updateState(isEnabled) @@ -114,7 +110,7 @@ class AdvancedFragment : BaseFragment() { } launch { - sharedCustomDnsInstance + shared .flatMapLatest { callbackFlowFromNotifier(it.onDnsServersChanged) } @@ -210,6 +206,14 @@ class AdvancedFragment : BaseFragment() { } customDnsToggle = view.findViewById<ToggleCell>(R.id.enable_custom_dns).apply { + state = serviceConnectionManager.customDns().let { customDns -> + if (customDns?.isCustomDnsEnabled() == true) { + CellSwitch.State.ON + } else { + CellSwitch.State.OFF + } + } + listener = { state -> jobTracker.newBackgroundJob("toggleCustomDns") { if (state == CellSwitch.State.ON) { |
