```val clicked = mutableListOf(false, false, false...
# coroutines
f
Copy code
val clicked = mutableListOf(false, false, false)
val buttonFlow = baseFlow.map { it.clicked = clicked[it.idx] }.onEach { buttonLiveData.postValue(it) }
val job = buttonFlow.launchIn(scope)
val onClickEvent: Channel<List<Boolean>> = Channel()
    .consumeEach { job.cancel(); job = buttonFlow.launchIn(scope) }

fun buttonWasClicked(idx: Int) { onClickEvent.offer(/* do our list creation logic */) }
But that seems awfully overkill.
t
How about sending events to a
BroadcastChannel
, then
combineLatest(baseFlow, broadcast.asFlow())
?
f
Aaaah, perfect, that's what I was missing. Thank you!