diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-01-13 18:07:01 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-04-21 12:24:47 +0000 |
| commit | 771d4e28144f3c349c5819eac33667c6e56e71a4 (patch) | |
| tree | ccb4d615122202563c7fd925f06a16ef2c6fd927 /android/src | |
| parent | 980ca3cd9d189b02625d6fdecf75bd279fcc15b1 (diff) | |
| download | mullvadvpn-771d4e28144f3c349c5819eac33667c6e56e71a4.tar.xz mullvadvpn-771d4e28144f3c349c5819eac33667c6e56e71a4.zip | |
Allow setting Allow LAN through service connection
Diffstat (limited to 'android/src')
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 f93ef0be1a..dc05949c9c 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Request.kt @@ -69,6 +69,9 @@ sealed class Request : Message.RequestMessage() { data class SetAccount(val account: String?) : Request() @Parcelize + data class SetAllowLan(val allow: 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 0a52279c6e..e956fe1b73 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 @@ -16,6 +16,7 @@ import net.mullvad.talpid.util.EventNotifier class SettingsListener(endpoint: ServiceEndpoint) { private sealed class Command { + class SetAllowLan(val allow: Boolean) : Command() class SetWireGuardMtu(val mtu: Int?) : Command() } @@ -43,6 +44,10 @@ class SettingsListener(endpoint: ServiceEndpoint) { } endpoint.dispatcher.apply { + registerHandler(Request.SetAllowLan::class) { request -> + commandChannel.sendBlocking(Command.SetAllowLan(request.allow)) + } + registerHandler(Request.SetWireGuardMtu::class) { request -> commandChannel.sendBlocking(Command.SetWireGuardMtu(request.mtu)) } @@ -105,6 +110,7 @@ class SettingsListener(endpoint: ServiceEndpoint) { try { for (command in channel) { when (command) { + is Command.SetAllowLan -> daemon.await().setAllowLan(command.allow) 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 8f72022876..cdfb3f6e54 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 @@ -21,6 +21,10 @@ class SettingsListener(val connection: Messenger, eventDispatcher: DispatchingHa get() = accountNumberNotifier.latestEvent set(value) { connection.send(Request.SetAccount(value).message) } + var allowLan: Boolean + get() = settingsNotifier.latestEvent?.allowLan ?: false + set(value) { connection.send(Request.SetAllowLan(value).message) } + var wireguardMtu: Int? get() = settingsNotifier.latestEvent?.tunnelOptions?.wireguard?.options?.mtu set(value) { connection.send(Request.SetWireGuardMtu(value).message) } |
