diff options
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() |
