diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt | 14 |
1 files changed, 12 insertions, 2 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 9a34f959fa..6d8747f915 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt @@ -34,8 +34,7 @@ class MullvadVpnService : TalpidVpnService() { override fun onRebind(intent: Intent) { if (isStopping) { - tearDown() - setUp() + restart() isStopping = false } } @@ -71,6 +70,12 @@ class MullvadVpnService : TalpidVpnService() { onSettingsChange.subscribe { settings -> notificationManager.loggedIn = settings?.accountToken != null } + + onDaemonStopped = { + if (!isStopping) { + restart() + } + } } serviceNotifier.notify(ServiceInstance(daemon, connectionProxy, connectivityListener)) @@ -106,4 +111,9 @@ class MullvadVpnService : TalpidVpnService() { connectionProxy.onDestroy() notificationManager.onDestroy() } + + private fun restart() { + tearDown() + setUp() + } } |
