summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp30
1 files changed, 19 insertions, 11 deletions
diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp b/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp
index 50f3aef9..6369cedb 100644
--- a/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp
+++ b/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp
@@ -332,21 +332,29 @@ void QBluetoothDeviceDiscoveryAgentPrivate::processDiscoveredDevices(
updatedFields.setFlag(QBluetoothDeviceInfo::Field::ManufacturerData);
}
- if (!updatedFields.testFlag(QBluetoothDeviceInfo::Field::None)) {
- emit q->deviceUpdated(discoveredDevices[i], updatedFields);
+ if (lowEnergySearchTimeout > 0) {
+ if (discoveredDevices[i] != info) {
+ if (discoveredDevices.at(i).name() == info.name()) {
+ qCDebug(QT_BT_ANDROID) << "Almost Duplicate " << info.address()
+ << info.name() << "- replacing in place";
+ discoveredDevices.replace(i, info);
+ emit q->deviceDiscovered(info);
+ }
+ } else {
+ if (!updatedFields.testFlag(QBluetoothDeviceInfo::Field::None))
+ emit q->deviceUpdated(discoveredDevices[i], updatedFields);
+ }
+
return;
}
- if (discoveredDevices[i] == info)
- return;
+ discoveredDevices.replace(i, info);
+ emit q->deviceDiscovered(info);
- if (discoveredDevices.at(i).name() == info.name()) {
- qCDebug(QT_BT_ANDROID) << "Almost Duplicate "<< info.address()
- << info.name() << "- replacing in place";
- discoveredDevices.replace(i, info);
- emit q->deviceDiscovered(info);
- return;
- }
+ if (!updatedFields.testFlag(QBluetoothDeviceInfo::Field::None))
+ emit q->deviceUpdated(discoveredDevices[i], updatedFields);
+
+ return;
}
}