diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-05-06 19:34:01 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2021-05-14 20:39:01 +0000 |
| commit | 600b9e7bb7f52acfc326a79c1ea999901e00cd15 (patch) | |
| tree | 3704fd951726f7b97a700a4029b868d7179ee031 /android | |
| parent | acddadb86a9fba6d0abe0a180046370f633cb922 (diff) | |
| download | mullvadvpn-600b9e7bb7f52acfc326a79c1ea999901e00cd15.tar.xz mullvadvpn-600b9e7bb7f52acfc326a79c1ea999901e00cd15.zip | |
Store listeners in a map with IDs
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/endpoint/ServiceEndpoint.kt | 10 |
1 files changed, 5 insertions, 5 deletions
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 906a44bcc7..e79482986c 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 @@ -25,7 +25,7 @@ class ServiceEndpoint( val connectivityListener: ConnectivityListener, context: Context ) { - private val listeners = mutableSetOf<Messenger>() + private val listeners = mutableMapOf<Int, Messenger>() private val registrationQueue: SendChannel<Messenger> = startRegistrator() internal val dispatcher = DispatchingHandler(looper) { message -> @@ -76,13 +76,13 @@ class ServiceEndpoint( internal fun sendEvent(event: Event) { synchronized(this) { - val deadListeners = mutableSetOf<Messenger>() + val deadListeners = mutableSetOf<Int>() - for (listener in listeners) { + for ((id, listener) in listeners) { try { listener.send(event.message) } catch (_: DeadObjectException) { - deadListeners.add(listener) + deadListeners.add(id) } } @@ -111,7 +111,7 @@ class ServiceEndpoint( synchronized(this) { val listenerId = newListenerId() - listeners.add(listener) + listeners.put(listenerId, listener) val initialEvents = mutableListOf( Event.TunnelStateChange(connectionProxy.state), |
