Skip to content

Commit 570d731

Browse files
committed
Merge branch 'dns-settings-might-not-go-into-effect-immediately-snackbar-droid-743'
2 parents 7163899 + 6d10536 commit 570d731

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/dialog/DnsDialog.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ fun DnsDialog(
112112
viewModel::onDnsInputChange,
113113
onSaveDnsClick = viewModel::onSaveDnsClick,
114114
onRemoveDnsClick = viewModel::onRemoveDnsClick,
115-
onDismiss = { resultNavigator.navigateBack(false) }
115+
onDismiss = { resultNavigator.navigateBack(result = false) }
116116
)
117117
}
118118

android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/screen/VpnSettingsScreen.kt

+6-6
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_WIREGUARD_CUSTOM_PORT_TEXT_
8080
import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_WIREGUARD_PORT_ITEM_X_TEST_TAG
8181
import net.mullvad.mullvadvpn.compose.transitions.SlideInFromRightTransition
8282
import net.mullvad.mullvadvpn.compose.util.LaunchedEffectCollect
83+
import net.mullvad.mullvadvpn.compose.util.OnNavResultValue
8384
import net.mullvad.mullvadvpn.constant.WIREGUARD_PRESET_PORTS
8485
import net.mullvad.mullvadvpn.lib.theme.AppTheme
8586
import net.mullvad.mullvadvpn.lib.theme.Dimens
@@ -138,12 +139,11 @@ fun VpnSettings(
138139
val vm = koinViewModel<VpnSettingsViewModel>()
139140
val state by vm.uiState.collectAsStateWithLifecycle()
140141

141-
dnsDialogResult.onNavResult {
142-
when (it) {
143-
NavResult.Canceled -> {
144-
vm.onDnsDialogDismissed()
145-
}
146-
is NavResult.Value -> {}
142+
dnsDialogResult.OnNavResultValue { result ->
143+
if (result) {
144+
vm.showApplySettingChangesWarningToast()
145+
} else {
146+
vm.onDnsDialogDismissed()
147147
}
148148
}
149149

android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/Navigation.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import androidx.compose.runtime.Composable
44
import androidx.compose.runtime.DisallowComposableCalls
55
import com.ramcosta.composedestinations.result.NavResult
66
import com.ramcosta.composedestinations.result.ResultRecipient
7-
import net.mullvad.mullvadvpn.compose.destinations.DirectionDestination
7+
import com.ramcosta.composedestinations.spec.DestinationSpec
88

99
@Composable
10-
fun <D : DirectionDestination, V> ResultRecipient<D, V>.OnNavResultValue(
10+
fun <D : DestinationSpec<*>, V> ResultRecipient<D, V>.OnNavResultValue(
1111
onValue: @DisallowComposableCalls (value: V) -> Unit
1212
) = onNavResult {
1313
when (it) {

android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -120,15 +120,15 @@ class VpnSettingsViewModel(
120120

121121
fun onDnsDialogDismissed() {
122122
if (vmState.value.customDnsList.isEmpty()) {
123-
onToggleCustomDns(false)
123+
onToggleCustomDns(enable = false)
124124
}
125125
}
126126

127127
fun onToggleCustomDns(enable: Boolean) {
128128
repository.setDnsState(if (enable) DnsState.Custom else DnsState.Default)
129129
if (enable && vmState.value.customDnsList.isEmpty()) {
130130
viewModelScope.launch { _uiSideEffect.send(VpnSettingsSideEffect.NavigateToDnsDialog) }
131-
} else {
131+
} else if (vmState.value.customDnsList.isNotEmpty()) {
132132
showApplySettingChangesWarningToast()
133133
}
134134
}
@@ -262,7 +262,7 @@ class VpnSettingsViewModel(
262262
return isLinkLocalAddress || isSiteLocalAddress
263263
}
264264

265-
private fun showApplySettingChangesWarningToast() {
265+
fun showApplySettingChangesWarningToast() {
266266
viewModelScope.launch {
267267
_uiSideEffect.send(
268268
VpnSettingsSideEffect.ShowToast(

0 commit comments

Comments
 (0)