diff --git a/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt b/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt index f7a01e59a..fe338064e 100644 --- a/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt +++ b/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt @@ -17,6 +17,8 @@ import xyz.luan.audioplayers.player.WrappedPlayer import xyz.luan.audioplayers.source.BytesSource import xyz.luan.audioplayers.source.UrlSource import java.lang.ref.WeakReference +import java.util.concurrent.ConcurrentHashMap +import java.util.concurrent.ConcurrentMap typealias FlutterHandler = (call: MethodCall, response: MethodChannel.Result) -> Unit @@ -27,7 +29,7 @@ class AudioplayersPlugin : FlutterPlugin, IUpdateCallback { private lateinit var globalChannel: MethodChannel private lateinit var context: Context - private val players = mutableMapOf() + private val players = ConcurrentHashMap() private val handler = Handler(Looper.getMainLooper()) private var updateRunnable: Runnable? = null @@ -189,7 +191,7 @@ class AudioplayersPlugin : FlutterPlugin, IUpdateCallback { } private class UpdateRunnable( - mediaPlayers: Map, + mediaPlayers: ConcurrentMap, channel: MethodChannel, handler: Handler, updateCallback: IUpdateCallback,