summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-01-13 18:36:11 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-04-21 12:24:47 +0000
commite3dc0801ededebda0f2b5e89df84a0f7acbf448b (patch)
tree3bc07b36b343b4556246bc0ceae4bdcc3d613d76 /android
parent771d4e28144f3c349c5819eac33667c6e56e71a4 (diff)
downloadmullvadvpn-e3dc0801ededebda0f2b5e89df84a0f7acbf448b.tar.xz
mullvadvpn-e3dc0801ededebda0f2b5e89df84a0f7acbf448b.zip
Allow setting Auto-Connect through connection
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt3
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt6
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/SettingsListener.kt4
3 files changed, 13 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt
index dc05949c9c..67ae40f187 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt
@@ -72,6 +72,9 @@ sealed class Request : Message.RequestMessage() {
data class SetAllowLan(val allow: Boolean) : Request()
@Parcelize
+ data class SetAutoConnect(val autoConnect: Boolean) : Request()
+
+ @Parcelize
data class SetEnableCustomDns(val enable: Boolean) : Request()
@Parcelize
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt
index e956fe1b73..c903fc9e37 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/SettingsListener.kt
@@ -17,6 +17,7 @@ import net.mullvad.talpid.util.EventNotifier
class SettingsListener(endpoint: ServiceEndpoint) {
private sealed class Command {
class SetAllowLan(val allow: Boolean) : Command()
+ class SetAutoConnect(val autoConnect: Boolean) : Command()
class SetWireGuardMtu(val mtu: Int?) : Command()
}
@@ -48,6 +49,10 @@ class SettingsListener(endpoint: ServiceEndpoint) {
commandChannel.sendBlocking(Command.SetAllowLan(request.allow))
}
+ registerHandler(Request.SetAutoConnect::class) { request ->
+ commandChannel.sendBlocking(Command.SetAutoConnect(request.autoConnect))
+ }
+
registerHandler(Request.SetWireGuardMtu::class) { request ->
commandChannel.sendBlocking(Command.SetWireGuardMtu(request.mtu))
}
@@ -111,6 +116,7 @@ class SettingsListener(endpoint: ServiceEndpoint) {
for (command in channel) {
when (command) {
is Command.SetAllowLan -> daemon.await().setAllowLan(command.allow)
+ is Command.SetAutoConnect -> daemon.await().setAutoConnect(command.autoConnect)
is Command.SetWireGuardMtu -> daemon.await().setWireguardMtu(command.mtu)
}
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/SettingsListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/SettingsListener.kt
index cdfb3f6e54..d7382ab240 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/SettingsListener.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/SettingsListener.kt
@@ -25,6 +25,10 @@ class SettingsListener(val connection: Messenger, eventDispatcher: DispatchingHa
get() = settingsNotifier.latestEvent?.allowLan ?: false
set(value) { connection.send(Request.SetAllowLan(value).message) }
+ var autoConnect: Boolean
+ get() = settingsNotifier.latestEvent?.autoConnect ?: false
+ set(value) { connection.send(Request.SetAutoConnect(value).message) }
+
var wireguardMtu: Int?
get() = settingsNotifier.latestEvent?.tunnelOptions?.wireguard?.options?.mtu
set(value) { connection.send(Request.SetWireGuardMtu(value).message) }