diff options
Diffstat (limited to 'android/app/src')
5 files changed, 18 insertions, 28 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt index d0f54a0cf6..5c6e765b4e 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt @@ -28,28 +28,13 @@ class RelayListListener( var selectedRelayItem: RelayItem? = null private set - var selectedRelayLocation: GeographicLocationConstraint? - get() { - val settings = relaySettings as? RelaySettings.Normal - val location = settings?.relayConstraints?.location as? Constraint.Only - - return location?.value?.toGeographicLocationConstraint() - } - set(value) { - connection.send(Request.SetRelayLocation(value).message) - } - - var selectedWireguardConstraints: WireguardConstraints? - get() { - val settings = relaySettings as? RelaySettings.Normal + fun updateSelectedRelayLocation(value: GeographicLocationConstraint) { + connection.send(Request.SetRelayLocation(value).message) + } - return settings?.relayConstraints?.wireguardConstraints?.port?.let { port -> - WireguardConstraints(port) - } - } - set(value) { - connection.send(Request.SetWireguardConstraints(value).message) - } + fun updateSelectedWireguardConstraints(value: WireguardConstraints) { + connection.send(Request.SetWireguardConstraints(value).message) + } var onRelayCountriesChange: ((List<RelayCountry>, RelayItem?) -> Unit)? = null set(value) { diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModel.kt index 2507e9fb19..0d8f753d8f 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModel.kt @@ -71,8 +71,10 @@ class SelectLocationViewModel(private val serviceConnectionManager: ServiceConne @Suppress("konsist.ensure public properties use permitted names") val enterTransitionEndAction = _enterTransitionEndAction.asSharedFlow() - fun selectRelay(relayItem: RelayItem?) { - serviceConnectionManager.relayListListener()?.selectedRelayLocation = relayItem?.location + fun selectRelay(relayItem: RelayItem) { + serviceConnectionManager + .relayListListener() + ?.updateSelectedRelayLocation(relayItem.location) serviceConnectionManager.connectionProxy()?.connect() viewModelScope.launch { _closeAction.emit(Unit) } } diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt index 0827c81e99..94abf1da90 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt @@ -352,8 +352,9 @@ class VpnSettingsViewModel( fun onWireguardPortSelected(port: Constraint<Port>) { viewModelScope.launch(dispatcher) { - serviceConnectionManager.relayListListener()?.selectedWireguardConstraints = - WireguardConstraints(port = port) + serviceConnectionManager + .relayListListener() + ?.updateSelectedWireguardConstraints(WireguardConstraints(port = port)) } hideDialog() } diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModelTest.kt index 59cd9f48b5..3cadfe575f 100644 --- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModelTest.kt +++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModelTest.kt @@ -132,7 +132,7 @@ class SelectLocationViewModelTest { assertEquals(Unit, awaitItem()) verify { connectionProxyMock.connect() - mockRelayListListener.selectedRelayLocation = mockLocation + mockRelayListListener.updateSelectedRelayLocation(mockLocation) } } } diff --git a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModelTest.kt b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModelTest.kt index 66d301d903..13561737c8 100644 --- a/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModelTest.kt +++ b/android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModelTest.kt @@ -159,7 +159,9 @@ class VpnSettingsViewModelTest { // Arrange val wireguardPort: Constraint<Port> = Constraint.Only(Port(99)) val wireguardConstraints = WireguardConstraints(port = wireguardPort) - every { mockRelayListListener.selectedWireguardConstraints = any() } returns Unit + every { + mockRelayListListener.updateSelectedWireguardConstraints(wireguardConstraints) + } returns Unit // Act mockConnectionState.value = @@ -168,7 +170,7 @@ class VpnSettingsViewModelTest { // Assert verify(exactly = 1) { - mockRelayListListener.selectedWireguardConstraints = wireguardConstraints + mockRelayListListener.updateSelectedWireguardConstraints(wireguardConstraints) } } |
