summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-11-30 21:22:54 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-02-15 18:47:22 +0000
commit286eda9150acc29615ae1f22c8ed798110900f11 (patch)
tree70bf2d68b4615307cdaa70229f7503f2e390702a /android
parent7c503d26b962268098103a532a09cf22d0f017f5 (diff)
downloadmullvadvpn-286eda9150acc29615ae1f22c8ed798110900f11.tar.xz
mullvadvpn-286eda9150acc29615ae1f22c8ed798110900f11.zip
Include a `Messenger` in the `ServiceInstance`
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt6
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/ServiceInstance.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt3
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()
}