From 5a1b355b660523b2ec684035d9130e369be1516b Mon Sep 17 00:00:00 2001 From: andrekir Date: Thu, 8 Feb 2024 17:22:27 -0300 Subject: [PATCH] fix: replace `MutableList` with `CopyOnWriteArrayList` --- .../java/com/geeksville/mesh/repository/network/NsdManager.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/geeksville/mesh/repository/network/NsdManager.kt b/app/src/main/java/com/geeksville/mesh/repository/network/NsdManager.kt index 15c970a76..d10071965 100644 --- a/app/src/main/java/com/geeksville/mesh/repository/network/NsdManager.kt +++ b/app/src/main/java/com/geeksville/mesh/repository/network/NsdManager.kt @@ -9,6 +9,7 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.callbackFlow import kotlinx.coroutines.flow.mapLatest import kotlinx.coroutines.suspendCancellableCoroutine +import java.util.concurrent.CopyOnWriteArrayList import kotlin.coroutines.resume @OptIn(ExperimentalCoroutinesApi::class) @@ -25,7 +26,7 @@ private fun NsdManager.discoverServices( serviceType: String, protocolType: Int = NsdManager.PROTOCOL_DNS_SD, ): Flow> = callbackFlow { - val serviceList = mutableListOf() + val serviceList = CopyOnWriteArrayList() val discoveryListener = object : NsdManager.DiscoveryListener { override fun onStartDiscoveryFailed(serviceType: String, errorCode: Int) { cancel("Start Discovery failed: Error code: $errorCode")