If there is no adapter available, the bluetoothtestdevice manual
test application crashes as it accesses empty adapter list.
Pick-to: 6.2 6.3
Change-Id: I2126cad73713976e453775b573518c041d369b52
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
... and port (already or soon-expected-to-be) count() to size().
These changes are considered trivial, in that nothing but the loop
variable needs adjustment.
The alternative, a port to ranged for-loops, I dismissed for these
loops, either because the loop index was used for something else
(first/last check, zip iteration) or I was just too lazy to prove that
the container under iteration isn't changed.
In some cases, I may have forgotten to port to ranged loops, even
though it would be trivially safe. This was already much more complex
than anticipated :)
Also fix post-increment to pre-increment. It doesn't matter for
integral types, but developers that regularly read and write
post-increment for integral types will likely fail to switch to
pre-increment for iterators types, where the difference does matter,
so increase the exposure of code readers to the idiomatic form.
Pick-to: 6.3
Task-number: QTBUG-102463
Change-Id: Ia6f2960dc52d46ffbd48f12446e9b0f7c70df162
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
The BT LE support differs slightly on different platforms on the server
side. This commit adds the means to adjust the BT LE client-side
expectations depending on which platform the counterpart server is
running on.
Task-number: QTBUG-98781
Pick-to: 6.2
Change-Id: Ia30afb2ba2256595cd5556bb417f9542ecb0b06c
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
If services were added in a tight loop sometimes the services are
created wrong. In practice this results in a situation where a client
reads a characteristic value from "Service A", but gets the value from
"Service B" - even if the client had no knowledge of "Service B".
The problem is that according to Android documentation, the
BluetoothGattServer::addService() must not be called before the prior
added service has received a
BluetoothGattServerCallback::onServiceAdded() -callback.
This commit serializes/queues the service additions.
Fixes: QTBUG-96742
Pick-to: 6.2 5.15
Change-Id: I42c980600419787d4490d1a1059e3893597cb7cf
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
This patch adds a tool "bluetoothtestdevice" which
acts as a partner device in QtBluetooth unit tests.
Pick-to: 6.2
Change-Id: I5be89cf555a94a209de093d328fb29f91c2fea9a
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>