diff options
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), |
