Scan Result Adapter
RecyclerView adapter for displaying discovered BLE devices.
This adapter shows a list of BluetoothDevice objects discovered during BLE scanning. Each item displays the device name (or "Unknown Device" if not available) and the device's MAC address. Clicking on an item triggers the onDeviceClick callback.
Features
Displays device name and MAC address
Handles unnamed devices gracefully
Click listener for device selection
Efficient view recycling
Usage Example
val devices = mutableListOf<BluetoothDevice>()
val adapter = ScanResultAdapter(devices) { device ->
// Handle device selection
connectToDevice(device)
}
recyclerView.adapter = adapter
// When new device is discovered:
devices.add(discoveredDevice)
adapter.notifyItemInserted(devices.size - 1)Permissions Note
Accessing BluetoothDevice.getName requires BLUETOOTH_CONNECT permission on Android 12 (API 31) and above. Make sure this permission is granted before using this adapter.
Parameters
The mutable list of discovered devices to display.
Callback invoked when a device item is clicked.
See also
Functions
Adds a device to the list if it's not already present.
Clears all devices from the list and notifies the adapter.