How do everybody handle sending broadcast receiver...
# android-architecture
d
How do everybody handle sending broadcast receiver events to a
ViewModel
with `Flow`s? We use the following code:
Copy code
fun Context.fromBroadcast(filter: IntentFilter) = callbackFlow<Intent> {
    Log.i(TAG, "Registering receiver for $filter")

    val receiver = object : BroadcastReceiver() {
        override fun onReceive(context: Context, intent: Intent) {
            Log.i(TAG, "Got intent: $intent")

            this@callbackFlow.sendBlocking(intent)
        }
    }
    this@fromBroadcast.registerReceiver(receiver, filter)

    awaitClose { this@fromBroadcast.unregisterReceiver(receiver) }
}