summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-01-13 17:34:51 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-04-21 12:24:47 +0000
commit230b9c90d20d99f5e46b1875ccc25eb89953b1be (patch)
tree5b66284683d6347fd4ea6c19fea844e51692cdd7 /android/src
parent43a054d7dd19a5d1e5d2b7351d779229d6ac6c4d (diff)
downloadmullvadvpn-230b9c90d20d99f5e46b1875ccc25eb89953b1be.tar.xz
mullvadvpn-230b9c90d20d99f5e46b1875ccc25eb89953b1be.zip
Allow sending updated relay location from UI
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/RelayListListener.kt15
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt2
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()