summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-02-06 15:56:23 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-02-12 14:29:14 +0000
commitad04177d0751d8a5024e12f5f3a7bf813e8d46f6 (patch)
tree46df109ee166fafe213565e822f72f0c62a932bb /android
parent2df31edb4dbad57007249c589bf8b421f8a18172 (diff)
downloadmullvadvpn-ad04177d0751d8a5024e12f5f3a7bf813e8d46f6.tar.xz
mullvadvpn-ad04177d0751d8a5024e12f5f3a7bf813e8d46f6.zip
Make sure `ConnectionProxy` is safely torn down
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt9
1 files changed, 7 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 680b6b4eb0..32ec0985e4 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt
@@ -19,6 +19,8 @@ class MullvadVpnService : TalpidVpnService() {
private var isStopping = false
+ private var connectionProxy: ConnectionProxy? = null
+
private lateinit var daemon: Deferred<MullvadDaemon>
private lateinit var notificationManager: ForegroundNotificationManager
@@ -101,6 +103,7 @@ class MullvadVpnService : TalpidVpnService() {
}
onDaemonStopped = {
+ connectionProxy?.onDestroy()
serviceNotifier.notify(null)
if (!isStopping) {
@@ -109,9 +112,11 @@ class MullvadVpnService : TalpidVpnService() {
}
}
- val connectionProxy = ConnectionProxy(this@MullvadVpnService, daemon)
+ val newConnectionProxy = ConnectionProxy(this@MullvadVpnService, newDaemon)
+
+ connectionProxy = newConnectionProxy
- serviceNotifier.notify(ServiceInstance(daemon, connectionProxy, connectivityListener))
+ serviceNotifier.notify(ServiceInstance(daemon, newConnectionProxy, connectivityListener))
daemon
}