diff --git a/app/src/main/java/com/geeksville/mesh/service/RadioInterfaceService.kt b/app/src/main/java/com/geeksville/mesh/service/RadioInterfaceService.kt index ee8d00e0f..bd9b5eead 100644 --- a/app/src/main/java/com/geeksville/mesh/service/RadioInterfaceService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/RadioInterfaceService.kt @@ -286,22 +286,6 @@ class RadioInterfaceService : Service(), Logging { debug("Setting bonded device to ${address.anonymize}") - // We only keep an association to one device at a time... (move to BluetoothInterface?) - if (BluetoothInterface.hasCompanionDeviceApi(this)) { - if (address != null) { - val deviceManager = getSystemService(CompanionDeviceManager::class.java) - val c = address[0] - val rest = address.substring(1) - - deviceManager.associations.forEach { old -> - if (rest != old) { - debug("Forgetting old BLE association ${old.anonymize}") - deviceManager.disassociate(old) - } - } - } - } - getPrefs(this).edit(commit = true) { if (address == null) this.remove(DEVADDR_KEY) 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 199e55bba..69df4b3d3 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/SettingsFragment.kt @@ -1046,6 +1046,14 @@ class SettingsFragment : ScreenFragment("Settings"), Logging { ) { val deviceToPair: BluetoothDevice = data?.getParcelableExtra(CompanionDeviceManager.EXTRA_DEVICE)!! + + // We only keep an association to one device at a time... + deviceManager.associations.forEach { old -> + if (deviceToPair.address != old) { + debug("Forgetting old BLE association ${old.anonymize}") + deviceManager.disassociate(old) + } + } scanModel.onSelected( myActivity, BTScanModel.DeviceListEntry(