summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-17 15:47:57 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-01-13 14:45:09 +0000
commit4320dbc8fbb940ada1648ce53d5c990609613a49 (patch)
tree9ca17de78261142f1077bdafab7ae2466a2c7fe4 /android/src
parentd509ed3fa74c456906175f3781653ad92e4da86a (diff)
downloadmullvadvpn-4320dbc8fbb940ada1648ce53d5c990609613a49.tar.xz
mullvadvpn-4320dbc8fbb940ada1648ce53d5c990609613a49.zip
Restart service if daemon stops unexpectedly
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()
+ }
}