diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt | 15 |
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() } |
