Slide 14
Slide 14 text
Bonding
data class BondState(val device: BluetoothDevice, val state: Int)
val bondStateFlow = callbackFlow {
val receiver = object : BroadcastReceiver() {
override fun onReceive(context: Context, data: Intent) {
trySendBlocking(BondState(
intent.getParcelableExtra(EXTRA_DEVICE)!!,
intent.getIntExtra(EXTRA_BOND_STATE, BOND_NONE)
))
}
}
val filter = IntentFilter(ACTION_BOND_STATE_CHANGED)
registerReceiver(receiver, filter)
trySendBlocking(BondState(
bluetoothDevice,
bluetoothDevice.getBondState()
))
awaitClose { unregisterReceiver(receiver) }
}