summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-04-20 19:52:32 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-04-22 20:18:32 +0000
commit8bf5bdc3b3669c5e465dad9072178a42df431904 (patch)
treef95ad236fabb601dd23723293cc27b40f1f49d8b /android/src
parent3b5265cf974b126ad9a43d3fd956096fa67816a6 (diff)
downloadmullvadvpn-8bf5bdc3b3669c5e465dad9072178a42df431904.tar.xz
mullvadvpn-8bf5bdc3b3669c5e465dad9072178a42df431904.zip
Update UI side `VpnPermission` to receive requests
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/VpnPermission.kt12
2 files changed, 12 insertions, 2 deletions
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 b17db68b34..f25ed2c19c 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(
parameters = { parametersOf(service.messenger, dispatcher) }
)
val voucherRedeemer = VoucherRedeemer(service.messenger, dispatcher)
- val vpnPermission = VpnPermission(service.messenger)
+ val vpnPermission = VpnPermission(service.messenger, dispatcher)
val appVersionInfoCache = AppVersionInfoCache(dispatcher, settingsListener)
val customDns = CustomDns(service.messenger, settingsListener)
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/VpnPermission.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/VpnPermission.kt
index 7983245eba..30b672364d 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/VpnPermission.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/VpnPermission.kt
@@ -1,9 +1,19 @@
package net.mullvad.mullvadvpn.ui.serviceconnection
import android.os.Messenger
+import net.mullvad.mullvadvpn.ipc.Event
+import net.mullvad.mullvadvpn.ipc.MessageDispatcher
import net.mullvad.mullvadvpn.ipc.Request
-class VpnPermission(private val connection: Messenger) {
+class VpnPermission(private val connection: Messenger, eventDispatcher: MessageDispatcher<Event>) {
+ var onRequest: (() -> Unit)? = null
+
+ init {
+ eventDispatcher.registerHandler(Event.VpnPermissionRequest::class) { _ ->
+ onRequest?.invoke()
+ }
+ }
+
fun grant(isGranted: Boolean) {
connection.send(Request.VpnPermissionResponse(isGranted).message)
}