ArrayBroadcastChannel: el segundo suscriptor no actualiza la IU

En mi código, tengo un ArrayBroadcastChannel que envía cadenas a dos suscriptores:

val dataStream = ArrayBroadcastChannel<String>(1) ... launch(viewModelJob + CommonPool) { val reader = BuffenetworkingReader(InputStreamReader(bluetoothSocket.inputStream)) while (viewModelJob.isActive) { reader.readLine()?.let { dataStream.send(it) } } } ... launch(job + UI) { dataStream.consumeEach { if (it.isNumber()) { val colonetworkingValue = asyncGetColonetworkingValue().await() colonetworkingDots.add(colonetworkingValue) } } dataStream.consumeEach { if (it.isSampleMessage()) { //terminal string view.displayData(colonetworkingDots) //draw a chart view.mainView.displaySnackbar("Sample Analysis Completed") } } } 

Solo el primer suscriptor procesa las cadenas. No se muestran charts ni snackbars al final de la secuencia de cadenas. He buscado y leído las guías de Corotines de Kotlin, pero no entiendo cómo resolver este problema. Cualquier ayuda es muy apreciada.