diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt index 94c169604b..a3c4c64c9b 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt @@ -74,13 +74,7 @@ class MullvadVpnService : VpnService() { get() = this@MullvadVpnService.connectionProxy fun stop() { - if (daemon.isCompleted) { - runBlocking { daemon.await().shutdown() } - } else { - daemon.cancel() - } - - stopSelf() + this@MullvadVpnService.stop() } } @@ -97,6 +91,18 @@ class MullvadVpnService : VpnService() { MullvadDaemon(this@MullvadVpnService) } + private fun stop() { + this@MullvadVpnService.resetComplete = CompletableDeferred() + + if (daemon.isCompleted) { + runBlocking { daemon.await().shutdown() } + } else { + daemon.cancel() + } + + stopSelf() + } + private fun tearDown() { connectionProxy.onDestroy() notificationManager.onDestroy() |
