Merge pull request #6362 from vector-im/bugfix/adm/dispatch-to-crash
Fixing concurrent `dispatchTo` crash
This commit is contained in:
commit
9925cf9996
|
@ -0,0 +1 @@
|
||||||
|
Fixes concurrent modification crash when signing out or launching the app
|
|
@ -19,12 +19,13 @@ package org.matrix.android.sdk.internal.session
|
||||||
import org.matrix.android.sdk.api.extensions.tryOrNull
|
import org.matrix.android.sdk.api.extensions.tryOrNull
|
||||||
import org.matrix.android.sdk.api.session.Session
|
import org.matrix.android.sdk.api.session.Session
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
import java.util.concurrent.CopyOnWriteArraySet
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@SessionScope
|
@SessionScope
|
||||||
internal class SessionListeners @Inject constructor() {
|
internal class SessionListeners @Inject constructor() {
|
||||||
|
|
||||||
private val listeners = mutableSetOf<Session.Listener>()
|
private val listeners = CopyOnWriteArraySet<Session.Listener>()
|
||||||
|
|
||||||
fun addListener(listener: Session.Listener) {
|
fun addListener(listener: Session.Listener) {
|
||||||
synchronized(listeners) {
|
synchronized(listeners) {
|
||||||
|
|
Loading…
Reference in New Issue