Skip to content

Commit 5a33afe

Browse files
committed
Make subscribers in EventProducer synchronized
This fixes a concurrentmodificationexception
1 parent 81fc303 commit 5a33afe

File tree

1 file changed

+2
-1
lines changed
  • OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/events

1 file changed

+2
-1
lines changed

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/common/events/EventProducer.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.onesignal.common.events
33
import com.onesignal.common.threading.suspendifyOnMain
44
import kotlinx.coroutines.Dispatchers
55
import kotlinx.coroutines.withContext
6+
import java.util.*
67

78
/**
89
* A standard implementation that implements [IEventNotifier] and additional functionality to make
@@ -13,7 +14,7 @@ open class EventProducer<THandler> : IEventNotifier<THandler> {
1314
override val hasSubscribers: Boolean
1415
get() = _subscribers.any()
1516

16-
private val _subscribers: MutableList<THandler> = mutableListOf()
17+
private val _subscribers: MutableList<THandler> = Collections.synchronizedList(mutableListOf())
1718

1819
override fun subscribe(handler: THandler) {
1920
_subscribers.add(handler)

0 commit comments

Comments
 (0)