diff --git a/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt b/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt index e827d8bdc..a551dd1d3 100644 --- a/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt +++ b/app/src/main/java/com/geeksville/mesh/model/BTScanModel.kt @@ -114,6 +114,13 @@ class BTScanModel @Inject constructor( val isTCP: Boolean get() = prefix == 't' } + @SuppressLint("MissingPermission") + class BLEDeviceListEntry(device: BluetoothDevice) : DeviceListEntry( + device.name, + "x${device.address}", + device.bondState == BluetoothDevice.BOND_BONDED + ) + class USBDeviceListEntry(usbManager: UsbManager, val usb: UsbSerialDriver) : DeviceListEntry( usb.device.deviceName, SerialInterface.toInterfaceName(usb.device.deviceName), @@ -332,7 +339,7 @@ class BTScanModel @Inject constructor( bluetoothRepository.getBondedDevices() ?.filter { it.name != null && it.name.matches(Regex(BLE_NAME_PATTERN)) } ?.forEach { - addDevice(DeviceListEntry(it.name, "x${it.address}", true)) + addDevice(BLEDeviceListEntry(it)) } } diff --git a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt index da53bea64..32d6731b8 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt @@ -252,11 +252,7 @@ class SettingsFragment : ScreenFragment("Settings"), Logging { ?.let { device -> scanModel.onSelected( myActivity, - BTScanModel.DeviceListEntry( - device.name, - "x${device.address}", - device.bondState == BluetoothDevice.BOND_BONDED - ) + BTScanModel.BLEDeviceListEntry(device) ) } }