diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnection.kt | 2 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/VpnPermission.kt | 12 |
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) } |
