File tree 4 files changed +12
-12
lines changed
android/app/src/main/kotlin/net/mullvad/mullvadvpn
4 files changed +12
-12
lines changed Original file line number Diff line number Diff line change @@ -112,7 +112,7 @@ fun DnsDialog(
112
112
viewModel::onDnsInputChange,
113
113
onSaveDnsClick = viewModel::onSaveDnsClick,
114
114
onRemoveDnsClick = viewModel::onRemoveDnsClick,
115
- onDismiss = { resultNavigator.navigateBack(false ) }
115
+ onDismiss = { resultNavigator.navigateBack(result = false ) }
116
116
)
117
117
}
118
118
Original file line number Diff line number Diff line change @@ -80,6 +80,7 @@ import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_WIREGUARD_CUSTOM_PORT_TEXT_
80
80
import net.mullvad.mullvadvpn.compose.test.LAZY_LIST_WIREGUARD_PORT_ITEM_X_TEST_TAG
81
81
import net.mullvad.mullvadvpn.compose.transitions.SlideInFromRightTransition
82
82
import net.mullvad.mullvadvpn.compose.util.LaunchedEffectCollect
83
+ import net.mullvad.mullvadvpn.compose.util.OnNavResultValue
83
84
import net.mullvad.mullvadvpn.constant.WIREGUARD_PRESET_PORTS
84
85
import net.mullvad.mullvadvpn.lib.theme.AppTheme
85
86
import net.mullvad.mullvadvpn.lib.theme.Dimens
@@ -138,12 +139,11 @@ fun VpnSettings(
138
139
val vm = koinViewModel<VpnSettingsViewModel >()
139
140
val state by vm.uiState.collectAsStateWithLifecycle()
140
141
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()
147
147
}
148
148
}
149
149
Original file line number Diff line number Diff line change @@ -4,10 +4,10 @@ import androidx.compose.runtime.Composable
4
4
import androidx.compose.runtime.DisallowComposableCalls
5
5
import com.ramcosta.composedestinations.result.NavResult
6
6
import com.ramcosta.composedestinations.result.ResultRecipient
7
- import net.mullvad.mullvadvpn.compose.destinations.DirectionDestination
7
+ import com.ramcosta.composedestinations.spec.DestinationSpec
8
8
9
9
@Composable
10
- fun <D : DirectionDestination , V > ResultRecipient <D , V >.OnNavResultValue (
10
+ fun <D : DestinationSpec < * > , V > ResultRecipient <D , V >.OnNavResultValue (
11
11
onValue : @DisallowComposableCalls (value: V ) -> Unit
12
12
) = onNavResult {
13
13
when (it) {
Original file line number Diff line number Diff line change @@ -120,15 +120,15 @@ class VpnSettingsViewModel(
120
120
121
121
fun onDnsDialogDismissed () {
122
122
if (vmState.value.customDnsList.isEmpty()) {
123
- onToggleCustomDns(false )
123
+ onToggleCustomDns(enable = false )
124
124
}
125
125
}
126
126
127
127
fun onToggleCustomDns (enable : Boolean ) {
128
128
repository.setDnsState(if (enable) DnsState .Custom else DnsState .Default )
129
129
if (enable && vmState.value.customDnsList.isEmpty()) {
130
130
viewModelScope.launch { _uiSideEffect .send(VpnSettingsSideEffect .NavigateToDnsDialog ) }
131
- } else {
131
+ } else if (vmState.value.customDnsList.isNotEmpty()) {
132
132
showApplySettingChangesWarningToast()
133
133
}
134
134
}
@@ -262,7 +262,7 @@ class VpnSettingsViewModel(
262
262
return isLinkLocalAddress || isSiteLocalAddress
263
263
}
264
264
265
- private fun showApplySettingChangesWarningToast () {
265
+ fun showApplySettingChangesWarningToast () {
266
266
viewModelScope.launch {
267
267
_uiSideEffect .send(
268
268
VpnSettingsSideEffect .ShowToast (
You can’t perform that action at this time.
0 commit comments