summaryrefslogtreecommitdiffhomepage
path: root/android/app
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2023-10-31 15:24:22 +0100
committerDavid Lönnhager <david.l@mullvad.net>2023-10-31 15:24:22 +0100
commitf073ef8c37ecc4a0cd3d4525ed3bc310cfd2f7e0 (patch)
treef817e43aa5b924bf1b56aeb03e941913fa35e339 /android/app
parent9b33f4440fd35d01eea663df5de7d83f65d96918 (diff)
parent3cedaf529da04bbd25fee4829fad4cc0ae2f561f (diff)
downloadmullvadvpn-f073ef8c37ecc4a0cd3d4525ed3bc310cfd2f7e0.tar.xz
mullvadvpn-f073ef8c37ecc4a0cd3d4525ed3bc310cfd2f7e0.zip
Merge branch 'refactor-relay-settings-update' into main
Diffstat (limited to 'android/app')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt27
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModel.kt6
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModel.kt5
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/SelectLocationViewModelTest.kt2
-rw-r--r--android/app/src/test/kotlin/net/mullvad/mullvadvpn/viewmodel/VpnSettingsViewModelTest.kt6
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)
}
}