dave08
ViewModel
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) } }
A modern programming language that makes developers happier.