diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/DiscoveryActivity.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/DiscoveryActivity.java index b71591bba..3d0e9f82c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/DiscoveryActivity.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/DiscoveryActivity.java @@ -258,6 +258,9 @@ public class DiscoveryActivity extends AbstractGBActivity implements AdapterView private Scanning isScanning = Scanning.SCANNING_OFF; private GBDeviceCandidate bondingDevice; + private boolean ignoreBonded = true; + + private enum Scanning { SCANNING_BT, SCANNING_BTLE, @@ -269,6 +272,8 @@ public class DiscoveryActivity extends AbstractGBActivity implements AdapterView protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + ignoreBonded = GBApplication.getPrefs().getBoolean("ignore_bonded_devices", true); + disableNewBLEScanning = GBApplication.getPrefs().getBoolean("disable_new_ble_scanning", false); if (disableNewBLEScanning) { LOG.info("new BLE scanning disabled via settings, using old method"); @@ -377,8 +382,9 @@ public class DiscoveryActivity extends AbstractGBActivity implements AdapterView } } } - if (device.getBondState() == BluetoothDevice.BOND_BONDED) { - return true; // ignore already bonded devices + + if (device.getBondState() == BluetoothDevice.BOND_BONDED && ignoreBonded) { + return true; // Ignore already bonded devices } GBDeviceCandidate candidate = new GBDeviceCandidate(device, rssi, uuids); diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index c4a18b16a..0480eb41a 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -632,6 +632,12 @@ android:defaultValue="false" android:key="log_to_file" android:title="@string/pref_write_logfiles" /> +