Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 87647c0d authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

Merge "Fix race condition when requestNetworkScan" into main

parents ff6a1750 c181d60b
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -30,8 +30,8 @@ import com.android.settings.R
import com.android.settings.network.telephony.CellInfoUtil.getNetworkTitle
import com.android.settings.network.telephony.telephonyManager
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
import java.util.concurrent.Executors
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.asExecutor
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.callbackFlow
@@ -96,7 +96,9 @@ class NetworkScanRepository(private val context: Context, subId: Int) {

        val networkScan = telephonyManager.requestNetworkScan(
            createNetworkScan(),
            Dispatchers.Default.asExecutor(),
            // requestNetworkScan() could call callbacks concurrently, so we use a single thread
            // to avoid racing conditions.
            Executors.newSingleThreadExecutor(),
            callback,
        )