diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-01-13 17:34:51 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-04-21 12:24:47 +0000 |
| commit | 230b9c90d20d99f5e46b1875ccc25eb89953b1be (patch) | |
| tree | 5b66284683d6347fd4ea6c19fea844e51692cdd7 /android/src | |
| parent | 43a054d7dd19a5d1e5d2b7351d779229d6ac6c4d (diff) | |
| download | mullvadvpn-230b9c90d20d99f5e46b1875ccc25eb89953b1be.tar.xz mullvadvpn-230b9c90d20d99f5e46b1875ccc25eb89953b1be.zip | |
Allow sending updated relay location from UI
Diffstat (limited to 'android/src')
2 files changed, 16 insertions, 1 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt index a37b595404..b8070843e4 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt @@ -1,14 +1,18 @@ package net.mullvad.mullvadvpn.ui.serviceconnection +import android.os.Messenger import net.mullvad.mullvadvpn.ipc.DispatchingHandler import net.mullvad.mullvadvpn.ipc.Event +import net.mullvad.mullvadvpn.ipc.Request import net.mullvad.mullvadvpn.model.Constraint +import net.mullvad.mullvadvpn.model.LocationConstraint import net.mullvad.mullvadvpn.model.RelayConstraints import net.mullvad.mullvadvpn.model.RelaySettings import net.mullvad.mullvadvpn.relaylist.RelayItem import net.mullvad.mullvadvpn.relaylist.RelayList class RelayListListener( + val connection: Messenger, eventDispatcher: DispatchingHandler<Event>, val settingsListener: SettingsListener ) { @@ -18,6 +22,17 @@ class RelayListListener( var selectedRelayItem: RelayItem? = null private set + var selectedRelayLocation: LocationConstraint? + get() { + val settings = relaySettings as? RelaySettings.Normal + val location = settings?.relayConstraints?.location as? Constraint.Only + + return location?.value + } + set(value) { + connection.send(Request.SetRelayLocation(value).message) + } + var onRelayListChange: ((RelayList, RelayItem?) -> Unit)? = null set(value) { field = value diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt index b8410c740e..f24ca088f4 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt @@ -44,7 +44,7 @@ class ServiceConnection(private val service: ServiceInstance) : KoinScopeCompone val appVersionInfoCache = AppVersionInfoCache(dispatcher, settingsListener) val customDns = CustomDns(service.messenger, settingsListener) - var relayListListener = RelayListListener(dispatcher, settingsListener) + var relayListListener = RelayListListener(service.messenger, dispatcher, settingsListener) init { registerListener() |
