diff --git a/app/src/main/java/de/ccc/events/badge/card10/scanner/ScannerFragment.kt b/app/src/main/java/de/ccc/events/badge/card10/scanner/ScannerFragment.kt index 8721fb046dbefa3d87dcf79ef0318497993e0f41..f3385470d22ad55e4ec84a277340258da7f637bc 100644 --- a/app/src/main/java/de/ccc/events/badge/card10/scanner/ScannerFragment.kt +++ b/app/src/main/java/de/ccc/events/badge/card10/scanner/ScannerFragment.kt @@ -48,18 +48,21 @@ class ScannerFragment : Fragment() { val callback = object : ScanCallback() { override fun onScanResult(callbackType: Int, result: ScanResult) { val device = result.device - if (device.address.startsWith(CARD10_BLUETOOTH_MAC_PREFIX, true)) { - listAdapter.put( - Device( - btMac = device.address, - name = device.name, - paired = device.bondState == BluetoothDevice.BOND_BONDED - ) - ) - } + if (device.address.startsWith(CARD10_BLUETOOTH_MAC_PREFIX, true)) + putToListAdapter(device) } } + private fun putToListAdapter(device: BluetoothDevice) { + listAdapter.put( + Device( + btMac = device.address, + name = device.name, + paired = device.bondState == BluetoothDevice.BOND_BONDED + ) + ) + } + val receiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { System.out.println("===== onReceive " + intent) @@ -71,6 +74,14 @@ class ScannerFragment : Fragment() { super.onCreate(savedInstanceState) activity?.registerReceiver(receiver, IntentFilter(BluetoothDevice.ACTION_BOND_STATE_CHANGED)) bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + for (device in bluetoothAdapter.bondedDevices.filter { + it.address.startsWith( + CARD10_BLUETOOTH_MAC_PREFIX, + true + ) + }) { + putToListAdapter(device) + } bluetoothAdapter.bluetoothLeScanner.startScan(callback) }