summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-31 19:29:32 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-31 19:33:56 +0000
commit38ca3cc0a1c1230d589758820bb385be2d96edbd (patch)
tree352b22a71ceea82b6be03d2515c9d69684eb875e
parentefcace736eeac419d82fdd73526deb0e700bf3fd (diff)
downloadmullvadvpn-38ca3cc0a1c1230d589758820bb385be2d96edbd.tar.xz
mullvadvpn-38ca3cc0a1c1230d589758820bb385be2d96edbd.zip
Implement `MullvadVpnService.LocalBinder::stop()`
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt10
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) {