summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-05-06 15:35:18 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-05-14 20:39:01 +0000
commitacddadb86a9fba6d0abe0a180046370f633cb922 (patch)
treeb6bd3b6d4111b3522d176216379b9c8f1869b427 /android/src
parentb8e2c4ff3fa54b972af27f901155332c37b859ae (diff)
downloadmullvadvpn-acddadb86a9fba6d0abe0a180046370f633cb922.tar.xz
mullvadvpn-acddadb86a9fba6d0abe0a180046370f633cb922.zip
Include a listener ID in `Event.ListenerReady`
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Event.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt14
2 files changed, 14 insertions, 2 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Event.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Event.kt
index 7d407f55dd..faaba05d89 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Event.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ipc/Event.kt
@@ -29,7 +29,7 @@ sealed class Event : Message.EventMessage() {
data class CurrentVersion(val version: String?) : Event()
@Parcelize
- data class ListenerReady(val connection: Messenger) : Event()
+ data class ListenerReady(val connection: Messenger, val listenerId: Int) : Event()
@Parcelize
data class LoginStatus(val status: LoginStatusData?) : Event()
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 4a58ca4635..906a44bcc7 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
@@ -32,6 +32,8 @@ class ServiceEndpoint(
Request.fromMessage(message)
}
+ private var listenerIdCounter = 0
+
val messenger = Messenger(dispatcher)
val vpnPermission = VpnPermission(context, this)
@@ -107,6 +109,8 @@ class ServiceEndpoint(
private fun registerListener(listener: Messenger) {
synchronized(this) {
+ val listenerId = newListenerId()
+
listeners.add(listener)
val initialEvents = mutableListOf(
@@ -121,7 +125,7 @@ class ServiceEndpoint(
Event.AppVersionInfo(appVersionInfoCache.appVersionInfo),
Event.NewRelayList(relayListListener.relayList),
Event.AuthToken(authTokenCache.authToken),
- Event.ListenerReady(messenger)
+ Event.ListenerReady(messenger, listenerId)
)
if (vpnPermission.waitingForResponse) {
@@ -133,4 +137,12 @@ class ServiceEndpoint(
}
}
}
+
+ private fun newListenerId(): Int {
+ val listenerId = listenerIdCounter
+
+ listenerIdCounter += 1
+
+ return listenerId
+ }
}