summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt14
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()
+ }
}