diff options
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt index 6cb45329ff..2c51a9ecde 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt @@ -70,6 +70,16 @@ class MullvadVpnService : VpnService() { inner class LocalBinder : Binder() { val daemon get() = this@MullvadVpnService.daemon + + fun stop() { + if (daemon.isCompleted) { + runBlocking { daemon.await().shutdown() } + } else { + daemon.cancel() + } + + stopSelf() + } } private fun startDaemon() = GlobalScope.async(Dispatchers.Default) { |
