summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-06-30 13:46:37 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-06-30 13:46:37 -0300
commitf074c054d23a8539135adcbc8f5e237c25c6cad3 (patch)
tree5fc0f2e35e20a2bdcfabace5c9d96f5a284e3da9 /android/src
parenta07dbff5bf71930d715b17bb3473ef4c0dbfc338 (diff)
parent9ac9d9ea749a51798614dcfc2136a2a31d3ed950 (diff)
downloadmullvadvpn-f074c054d23a8539135adcbc8f5e237c25c6cad3.tar.xz
mullvadvpn-f074c054d23a8539135adcbc8f5e237c25c6cad3.zip
Merge branch 'fix-failure-to-quit'
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt15
1 files changed, 15 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt
index 14e62091cd..38d6a2e3eb 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt
@@ -41,6 +41,7 @@ class MullvadVpnService : TalpidVpnService() {
private val serviceNotifier = EventNotifier<ServiceInstance?>(null)
private var isStopping = false
+ private var shouldStop = false
private var loggedIn = false
private var startDaemonJob: Job? = null
@@ -121,6 +122,15 @@ class MullvadVpnService : TalpidVpnService() {
}
}
+ if (shouldStop) {
+ shouldStop = false
+
+ if (isStopping) {
+ restart()
+ isStopping = false
+ }
+ }
+
return startResult
}
@@ -149,6 +159,10 @@ class MullvadVpnService : TalpidVpnService() {
Log.d(TAG, "Closed all connections to service")
isBound = false
+ if (shouldStop) {
+ stop()
+ }
+
return true
}
@@ -240,6 +254,7 @@ class MullvadVpnService : TalpidVpnService() {
private fun stop() {
Log.d(TAG, "Stopping service")
isStopping = true
+ shouldStop = true
stopDaemon()
stopSelf()
}