summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-09-12 11:58:11 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-09-13 12:14:20 +0000
commit6e1466bacecb349b628ae94f82bdb8b55ed99b4b (patch)
tree23c9fb570b29888fc10d877653d95560b154fbd5 /android/src
parent583df144f39545ee0a8b9eff6ef453d248c54bba (diff)
downloadmullvadvpn-6e1466bacecb349b628ae94f82bdb8b55ed99b4b.tar.xz
mullvadvpn-6e1466bacecb349b628ae94f82bdb8b55ed99b4b.zip
Move `stop` method to outside of `LocalBinder`
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt20
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()