diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-04-08 14:46:30 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-04-12 13:19:37 +0000 |
| commit | 71e4553601f43b701ed0a2289ef4875b75fcb03e (patch) | |
| tree | fcb1a7b7d4f4ed06e3b78772501e48dccec4022e /android | |
| parent | 60359fff03fdba21ad32a31b38f8c453297bc518 (diff) | |
| download | mullvadvpn-71e4553601f43b701ed0a2289ef4875b75fcb03e.tar.xz mullvadvpn-71e4553601f43b701ed0a2289ef4875b75fcb03e.zip | |
Handle `VpnPermissionResponse` requests
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt | 2 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/VpnPermission.kt | 13 |
2 files changed, 9 insertions, 6 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt index be9e03306b..346c95222d 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt @@ -35,7 +35,7 @@ class ServiceEndpoint( val messenger = Messenger(dispatcher) - val vpnPermission = VpnPermission(context) + val vpnPermission = VpnPermission(context, this) val connectionProxy = ConnectionProxy(vpnPermission, this) val settingsListener = SettingsListener(this) diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/VpnPermission.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/VpnPermission.kt index 1c59a51cfe..50b5a606d4 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/VpnPermission.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/VpnPermission.kt @@ -3,12 +3,19 @@ package net.mullvad.mullvadvpn.service.endpoint import android.content.Context import android.content.Intent import android.net.VpnService +import net.mullvad.mullvadvpn.ipc.Request import net.mullvad.mullvadvpn.ui.MainActivity import net.mullvad.mullvadvpn.util.Intermittent -class VpnPermission(private val context: Context) { +class VpnPermission(private val context: Context, endpoint: ServiceEndpoint) { private val isGranted = Intermittent<Boolean>() + init { + endpoint.dispatcher.registerHandler(Request.VpnPermissionResponse::class) { request -> + isGranted.spawnUpdate(request.isGranted) + } + } + suspend fun request(): Boolean { val intent = VpnService.prepare(context) @@ -28,8 +35,4 @@ class VpnPermission(private val context: Context) { return isGranted.await() } - - suspend fun grant(permission: Boolean) { - isGranted.update(permission) - } } |
