diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-11-30 21:22:54 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-02-15 18:47:22 +0000 |
| commit | 286eda9150acc29615ae1f22c8ed798110900f11 (patch) | |
| tree | 70bf2d68b4615307cdaa70229f7503f2e390702a /android/src | |
| parent | 7c503d26b962268098103a532a09cf22d0f017f5 (diff) | |
| download | mullvadvpn-286eda9150acc29615ae1f22c8ed798110900f11.tar.xz mullvadvpn-286eda9150acc29615ae1f22c8ed798110900f11.zip | |
Include a `Messenger` in the `ServiceInstance`
Diffstat (limited to 'android/src')
3 files changed, 11 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 052f65ebd3..63d7e0ecb4 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt @@ -6,6 +6,7 @@ import android.content.Intent import android.net.VpnService import android.os.Binder import android.os.IBinder +import android.os.Looper import android.util.Log import kotlin.properties.Delegates.observable import kotlinx.coroutines.CompletableDeferred @@ -14,6 +15,7 @@ import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.Job import kotlinx.coroutines.launch import net.mullvad.mullvadvpn.model.Settings +import net.mullvad.mullvadvpn.service.endpoint.ServiceEndpoint import net.mullvad.mullvadvpn.service.notifications.AccountExpiryNotification import net.mullvad.mullvadvpn.service.tunnelstate.TunnelStateUpdater import net.mullvad.mullvadvpn.ui.MainActivity @@ -69,6 +71,7 @@ class MullvadVpnService : TalpidVpnService() { } private lateinit var daemonInstance: DaemonInstance + private lateinit var endpoint: ServiceEndpoint private lateinit var keyguardManager: KeyguardManager private lateinit var notificationManager: ForegroundNotificationManager private lateinit var tunnelStateUpdater: TunnelStateUpdater @@ -102,6 +105,8 @@ class MullvadVpnService : TalpidVpnService() { notificationManager = ForegroundNotificationManager(this, serviceNotifier, keyguardManager) tunnelStateUpdater = TunnelStateUpdater(this, serviceNotifier) + endpoint = ServiceEndpoint(Looper.getMainLooper()) + notificationManager.acknowledgeStartForegroundService() daemonInstance = DaemonInstance(this).apply { @@ -241,6 +246,7 @@ class MullvadVpnService : TalpidVpnService() { if (state == State.Running) { instance = ServiceInstance( + endpoint.messenger, daemon, connectionProxy, connectivityListener, diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ServiceInstance.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ServiceInstance.kt index 135ea9ef28..19d4443162 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ServiceInstance.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/ServiceInstance.kt @@ -1,8 +1,10 @@ package net.mullvad.mullvadvpn.service +import android.os.Messenger import net.mullvad.talpid.ConnectivityListener class ServiceInstance( + val messenger: Messenger, val daemon: MullvadDaemon, val connectionProxy: ConnectionProxy, val connectivityListener: ConnectivityListener, diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt index d115958979..3e289dcc6f 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt @@ -1,6 +1,7 @@ package net.mullvad.mullvadvpn.service.endpoint import android.os.Looper +import android.os.Messenger import net.mullvad.mullvadvpn.ipc.DispatchingHandler import net.mullvad.mullvadvpn.ipc.Request @@ -9,6 +10,8 @@ class ServiceEndpoint(looper: Looper) { Request.fromMessage(message) } + val messenger = Messenger(dispatcher) + fun onDestroy() { dispatcher.onDestroy() } |
