| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
+ 69ab8bfb98188eef2434a0272543eee2b7433707 Bump version
Change-Id: I270b811fab5c9e5c2b6f70f229a57fb8e2a3ab8a
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|\
| |
| |
| | |
Change-Id: I1560f484d99c521f7da3ccbac4d3d396a333f272
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
+ 4d73d1bee26b95a53650a42cb7c425c51b8b7f98 Bump version
+ 5ec4a37bd3d3d13e6d5be918ca4c9f9979655af9 fix use of default constructed QBluetoothSocket
Change-Id: I07bcc1469f14d1998efee4b14b7faaec04b04dd2
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|/
|
|
| |
Change-Id: I059b175dc300670b2a95a5968d26e82a331a60cc
|
|
|
|
|
|
|
|
|
|
|
| |
by checking the service passed to QBluetoothSocket::connectToService,
instead of the previous protocol of the socket
fixes up 21e7cb1bafdfc06c263e10067d02f9b103ff660f
Change-Id: I2aa30cdd618f834e718508c5f492fc211d328565
(cherry picked from commit 150297f4884437ae22b03ed464313cd4d33088c1)
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|\
| |
| |
| | |
Change-Id: I08b432399e4a30a24c37c3098e15795acf4949fb
|
| |
| |
| |
| |
| | |
Change-Id: Ib91829d9b96aaefa06b0fae5730ce9d99699fbf1
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|/
|
|
| |
Change-Id: I7be500094e1775de51e321ea64b40d15647917f6
|
|\
| |
| |
| | |
Change-Id: I02dc2850cf5867b3d82d6d88b8de8d6ddcffd810
|
| |
| |
| |
| |
| | |
Change-Id: Ie522ad947cf4a5657cfc95f82dc1b467eae954e1
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|/
|
|
| |
Change-Id: Id389d52c0370ca57f101bc89d3e76a1f00292f6d
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The method device.connectToService() can be finished quickly and
Device::characteristicsUpdated() can be triggered
before than the Characteristics.qml page will be loaded.
Therefore we will get stuck in "Scanning for characteristics..."
state. So, we need to call the device.connectToService() after
loading of the Characteristics.qml page.
Change-Id: Ic5c790f6f8dbeeae1e368c8a1c8ad8fb12a57087
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
| |
Change-Id: I20893f8057bc1065957530fd1a1311a7b1879bed
|
|
|
|
|
|
|
|
|
|
| |
Since it is possible that after calling Cancel() on the IAsyncInfo that
it will still call the Completed() callback, we need to ensure that
it has a chance to process the pending events before it is deleted.
Change-Id: I7d6fbb5bf6344098048b147c9d361c1fe7923b55
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: Ief783e899cde02ae033be8cd3af61ab5572d81a5
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-65801
Change-Id: I32be0262165d963ba5fb933c73414451431b2242
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|\
| |
| |
| | |
Change-Id: Iff97db0023af3d450c5d8445101e56e360425279
|
| |
| |
| |
| |
| | |
Change-Id: I20e1659b47f11733907f836782ac1a717891b35a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I041606473b333500da29c821d7dc089313856f65
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Emitting just the signal does not change the error state. setError()
ensures that the error state/member and the error signal are emitted.
Change-Id: Idc044b8b97d4025b0f3a4d172c11c6b3a4e81ecb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
| |
QBluetoothLocalDevice::isValid() returns false for iOS/tvOS/watchOS
(because Apple does not provide any public API/Framework to implement
QBluetoothLocalDevice correctly). Make ConnectionHandler::alive return
true for QT_PLATFORM_UIKIT.
Task-number: QTBUG-65547
Change-Id: I219fbeadc752b815f8369d332c10a24e70150abb
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As device discovery returns every paired device on winrt, it is possible
that we try to connect to a device, that is paired but not available.
When doing so the application should not crash but state that there
was an error connecting to the device.
Task-number: QTBUG-64480
Change-Id: I8d79f6da1de2b0bda7a51a7cfd068bb4a6057257
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
As msvc2013 was dropped we can add the capabilities independent of the
msvc version for winrt.
Change-Id: I14aea0da9226a5de6ffa2cf7c69a4ae5a69e8256
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
| |
Change-Id: Ia5c39a0db946a649c1992e32d8b05dc455f4283f
|
|\
| |
| |
| | |
refs/staging/5.9
|
| |\
| | |
| | |
| | | |
Change-Id: Ied8b3c37d07d1bac43a95d7a13e3b8d1644d8b8e
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-64191
Change-Id: I37f68aa25b828a90c4efaead2a2e1bc80e270182
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an ATT READ_REQUEST times out the ATT stack stops spinning
the event queue. This is particularly bad during the initial
service discovery when a lot of read requests are scheduled in one
go. The consequence was that the QLEService instance
was stuck in the ServiceDiscovering state. Subsequently the service object
is unusable.
The patch ensures that the ATT event loop continues after the timeout
happens. If multiple char or descriptor reads (on the same service) have
this problem the service discovery can still take a very long time.
The user can adjust this via the BLUETOOTH_GATT_TIMEOUT env variable.
[ChangeLog][Platform Specific Behavior][BlueZ] Fixed hanging service
discovery state when remote device does not respond to ATT read requests.
Task-number: QTBUG-64669
Change-Id: I8d22c13b825a921b140213b8b67e59e2310c362c
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes compile with disabled gui module.
Task-number: QTBUG-64597
Change-Id: I376dede3db987e524f97070344cc119e0ee1d187
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|/
|
|
|
|
|
|
|
| |
Some devices report access denied for various reasons (group policy,
disabled, etc.).
Hence, do return and stop the discovery instead of asserting.
Change-Id: I22fe9cc375fd3b3580deaf72c614bf62600cbf32
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If no bluetooth adapter is present in the system
IRfCommServiceProvider::CreateAsync will result in "device not
available". In this case we should not assert, but just handle that as a
failed attempt to register the service.
Task-number: QTBUG-64118
Change-Id: I73591a1f2dbedc798824e5afef53a9e2d793e73e
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There currently is no API for supporting the peripheral role on winrt,
but there is no way to reflect that inside our API. If a user tries to
set up a low energy peripheral device, the application should not crash
though.
The crash occurred, when the controller was set up in a perihperal role
and the application tried to read or write a descriptor or
characteristic. In this case the functions should just return early.
Task-number: QTBUG-63709
Change-Id: I30b277788d822f869743e1f294ee1402abd36309
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-63210
Change-Id: I98637337d8a77c8847bd0f2c567fec5e6a4ace31
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For writing messages another QAndroidJniObject was created, which
however wasn't connected or validated in any way, so calling methods
failed obviously. I removed said object and made use of the implemented
class member m_tagTech, that is being validated and connected
beforehand.
Task-number: QTBUG-62858
Change-Id: I97c28f15cdaf5c0aa36423e7aba35408b49bde4e
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Lars Schmertmann <lars.schmertmann@governikus.de>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
| |
Change-Id: I28f5936913a6127806325df34af4bf71a142e72e
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This bug was caused by a problem in the patch for QTBUG-55150.
While the termination of an ongoing BTLE connection is being
processed, the QLEController instance is in Connecting state and
the internal socket is still null. If the user triggers a call
to QLEController::disconnectDevice() while the above state is
pending, it crashes due to a call to the socket's close()
function. The time window for this to happen is very small.
It takes the duration of the bluez dbus call to disconnect
a device.
This patch addresses the above crash bug and adds a
bit more debug output to catch similar cases later on.
Task-number: QTBUG-63619
Change-Id: I893990a9ce8ccf55ddbf619fe177379f79dc9ee3
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
| |
Change-Id: Ia26b0bf499f8a0b6040e82bc1d460bee688bfbf6
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IOBluetooth is heavily based on CFRunLoops. An attempt to use it on a thread,
that does not properly run CFRunLoop results in callbacks never firing and
thus QBluetooth classes never finishing their jobs, including:
- device discovery
- service discovery
- RFCOMM/LCAP2
- Bluetooth server
- Bluetooth socket
etc.
While we cannot fix the core problem until we have a properly working
CoreFoundation event dispatcher, we can at least issue a warning so that
people do not waste their time debugging this well-known limitation.
Task-number: QTBUG-63630
Change-Id: Iefa4d675ea0962167bdfede640d2087dbdf37b18
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
| |
Change-Id: If828dce2dcd71f36c51216c2db4437683bc2a358
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
| |
Change-Id: I4d9a49d6eb9e808504e9bdbf2b4d4f6aac74d25b
|
|
|
|
|
|
|
| |
Task-number: QTBUG-62748
Change-Id: I3fcf2e254339a6c46dd1e11ceae69d5d4914345d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Like it was done for central manager - use the correct enumerators (types)
- with 10.13 SDK they also use 'generic' CBManagerXXX constants on macOS
instead of CBCentral/PeripheralManagerXXX constants.
Task-number: QTBUG-62658
Change-Id: I4b4de239930f5e731dc4977ff3353512290ff3b2
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
| |
A similar change was done earlier for iOS already. This is due to
deprecated API.
Task-number: QTBUG-62658
Change-Id: If1d4a0eae382e46e3224a6bd4a6e75309ff87cac
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-62710
Change-Id: I2d1e23e0073d3ec1d2f86f48051e5c9f40ffb5ad
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
| |
If we do not scan for low energy devices, the timeout will never be
triggered. In this case the discovery is finished as soon as every
paired device has been handled by the worker.
Change-Id: I59772e706ac0fbf62c560a54d650bef9815118b6
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QBluetoothDeviceDiscoveryAgent (DDA) is deleted by QBluetoothServiceDiscoveryAgent (SDA)
once it receives an error or SDA is instructed to stop() the discovery process.
Currently, this triggers at least two calls to the DDA's stop() function.
In addition, if stop() generates an error the error call itself will
call back to DDA:stop(). Therefore it create an endless loop back.
This is at least true for the Android devices mentioned in the related bug report.
This patch ensures that the main logic of Android's DDA::stop() is not called
more than once. Further more SDA disconnects from DDA's signals to avoid
a potential endless loop. Any error in DDA is not of relevance to the
surrounding SDA instance anymore.
Task-number: QTBUG-60131
Change-Id: I1df16f2b0896928833aa2ced75c43d4642b4fba3
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
|
|
| |
If there are no pending connections, the call should not make
the application crash but just return nullptr.
Change-Id: I33c2ec9b47bbb72abc99ad22035f794724b295ef
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Reflect the default values that are different on winrt in the auto test.
Obtaining the pairing status for given devices is possible on winrt, so
as soon as QTBUG-62294 is fixed, this change can be partly reverted.
Task-number: QTBUG-62294
Change-Id: Iceed8086f29c0f0c4859f2d86a16c2b3a9eeaffa
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
| |
We cannot obtain information about local bluetooth devices
on winrt.
Change-Id: I7805b68bff38a2a2d049619742880db5bd8d3cef
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
| |
Same as on other platforms initTestCase should return early if no remote
device was passed via environment variable.
Change-Id: I0b45b9be6247e55c890e6d151541ab034eefa467
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|