| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This amends d884d20c5530b67fbd2fba35cdb71a9f969196be
Change-Id: I6f600ed7739f698405076fb567bc71174e205125
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|\
| |
| |
| | |
Change-Id: Iab12802d94e2ced8b358cbeb3e70ce37d0eeec2b
|
| |
| |
| |
| |
| |
| |
| |
| | |
This caused a compile time error when using clang.
Task-number: QTBUG-55297
Change-Id: Ic899a225852e05b4302812f007ff08964b03e90d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
the CI obtains them from the qt5 super repo nowadays.
Change-Id: Idb89a6e24cc3a9ac38260f990ea953e5cdffbcbb
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In general BluetoothAdapter.getDefaultAdapter should not throw an exception.
If the device does not support Bluetooth the function should return a
null reference only.
However some devices throw a RuntimeException as well. Specially the
smartphone HTC 10! Even that phone supports Bluetooth.
So we need to catch it to prevent unwinding of the stack.
This fix is a sibling of 669b427653f8f708269431917f720f7e76680191.
Task-number: QTBUG-45066
Change-Id: I6d5f71e5cc988eed02ae35665b6ef6c9e8769868
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
'state' is an instance variable (the type is LEInquiryState), that holds the
previous inquiry state, while testing manager's state, we must use a local
variable 'cbState' (CBCentralManagerState) instead.
Change-Id: Ie1c4dbdb4fae571c94d7565a8de78657e252de7b
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: Id392fb05b7aa3bd3bdeb7c53c7437a0e730fe69c
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I3060846f47faa59a2350da0f44a86746eb9ddf7c
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently the advertising packet (scan record) received from BLE devices
during scanning on Android devices is ignored. Consequently, the
serviceUuids() method of the QBluetoothDeviceInfo class returns an empty
list for BLE devices. However, this list provides important information needed
by clients to identify whether a given device is of interest.
This changeset implements parsing of the scan record received from the
Android Bluetooth layer. The Java byte array is passed over JNI to the
C++ adapter classes, where it's parsed to find any service UUIDs being
advertised by the device.
Parsing the scan record ourselves is required for compatibility (Qt uses
"old-style" LE scan API from Android api level 18.)
All found UUIDs are added to a list which is subsequently passed to the
user of the QBluetoothDeviceDiscoveryAgent class via the
deviceDiscovered(QBluetoothDeviceInfo&) signal.
Note: not all Android devices pass the full advertisement data. The
service UUID list may be empty in those cases.
[ChangeLog][QtBluetooth][Android] Parse list of advertised services found in
LE scan record and pass them to API client via
QBluetoothDeviceInfo::serviceUuids()
Task-number: QTBUG-56625
Change-Id: I253f1b841c7b15b3bbabc9e478de87c81979815e
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-54457
Change-Id: Ib97dc769cef757a9997fa80a107ac8df4da958cf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
|/ /
| |
| |
| |
| | |
Change-Id: Ibe1871578394fa1e0f039425036ab0dd5223be49
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Iff285e35cdca30fee28c7927bc01498d70f9de9e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- With recent SDK changes CoreBluetooth is not in IOBluetooth anymore.
This makes corebluetoothwrapper_p.h even uglier, now we have to care
about v != 10.9 && v < 10.12; v == 10.9; v >= 10.12.
- Using osxbluetooth_p.h we can get rid of forward declarations (for
Obj-C classes) and weird includes like <IOBluetooth/IOBluetoothRFCOMChannel.h>
- use osxbluetooth_p.h instead (and it will correctly include
IOBluetooth/IOBluetooth.h etc.).
Change-Id: Ia85ef2e2cc1ac7b15a58864ed25d85a0772e5c86
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-56294
Change-Id: I2c27a050294e611f6ee540dbc58cf7f8b30b3fdf
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds missing includes that allows to build the module with
the 10.12 SDK and Xcode 8.
Change-Id: Ieab48f6a0582b916ceecbbb9a01a4169d6ba53f5
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ie9b0ebf1c5e925107e90b5d01b112916a8d1d83d
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
iOS 10 (and tvOS 10) deprecates CBCentralManagerState enum
(and associated values). Replaced by CBManagerState enum.
Change-Id: I1c1bb0691403deaa6330949516846961c76865f5
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I3eec9a22565585d4fc40831d609a3083ce99a52c
|
| |\
| | |
| | |
| | | |
Change-Id: Ib96e704316d0a93615505a07e2134f713e05deb8
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id0c8f14ef466011a3fec0db1f3042e5f540eeaa3
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Added binary compatibility data files for tst_bic test
Change-Id: I637ff03da3ca76dac8750f5a0480d61e267e850e
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Attempt to connect to a service using a socket with UnknownProtocol
socket type will fail, but can result in an incorrect UnknownSocketError
reported and also can start a device discovery (then finally failing to
connect after all). Check this condition early before trying to actually
connect/do device discovery and report error properly
as UnsupportedProtocolError.
Task-number: QTBUG-55073
Change-Id: Ib39e1ca7ad401e07d6387201a4664a1185d38d39
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As of version 10.12 (Sierra), the name of Apple's desktop operating
system will be macOS. Change all occurrences where the platform is
discussed to use the macro \macos (defined in the documentation
configuration in qtbase).
Change-Id: I97f7a0d6d2ca351395bed518f01d4365b986500a
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
SDP based scans and LE scans can find the saame device (address) with
different device names. This is caused by the fact that different
channels are used to retrieve the information. Those two channels
can advertise different device names.
Before this patch the first entry was added to the list of discovered
devices. When the second entry with different name came about, the
entry was never added to the list of discovered devices. Nevertheless
the deviceDiscovered() signal was triggered each time. This lead to a
situation where application which were listening to the signal only
never noticed the duplicated entries and showed a new discovered
device each time the address matched but not the remainder of the
device info.
This problem was made worse by the fact that the LE scan on Android
continues to fire the new device discovered signal once per second.
This patch distinguishes devices with the same address but different
names. They are treated as separate entries now.
Change-Id: I77259a888708309338110831e86bb7ce9253f2a6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QBluetoothDeviceDiscoveryAgent did not extract the
QBluetoothDeviceInfo::majorDeviceClass() and QBluetoothDeviceInfo::minorDeviceClass()
information.
The Android API provides info for all major device classes. However not each
major device class has its set of API for the minor device class information.
Caching is applied to match Android major device class values against their matching
Qt enum. When a matching entry is found, the value is added to the cache.
In principle, the mechanism is applied for minor device class values.
However since there are many many more minor device class fields, the caching
is a bit more proactive. The patch will proactively read and cache all minor
device class values for a given major device class. This avoids a large
overhead of very long if..else if...else if..else statements.
Change-Id: I26a6c29c6f5dca6d4f3b4b25902cda03a10ae5de
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Added the generated data files for the binary compatibility tests
for QtConnectivity for Qt 5.7.
Change-Id: Iedd9e2d47804f6e03925c8fcd39c5c2fc27f2e76
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The example uses a custom Manifest. The original version was based on the
general AndroidManifest.xml template at the time. In the mean time
the template changed (in particular the minimal SDK version was increased
to version 16). THe old custom manifest required API lvl 14 which was
too low.
The new version is based on the current AndroidManifest.xml template
which currently is Qt version 5.7.1.
Change-Id: I91c04cba8c7a9979d1cff0dc070e42b98185872f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It cannot really be fixed sind Android's NFC API requires Activity
objects. We merely ensure that the service case is discovered early,
reported accordingly and documented properly.
Change-Id: If75856eea3da5c6283a3cb988daffd7a36cc02a7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ic0814c3f5a65ce9ac9236c41397400fc42abb572
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ibde0242b058f728fd7e060b37f427c208325db13
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
|\|
| |
| |
| | |
Change-Id: I64352b6cc066255972874e2f9c28abff35f0d613
|
| |
| |
| |
| |
| |
| |
| | |
A naming inconsistency was discovered and a related Qt 6 TODO was added.
Change-Id: I171f8480009a3fc8c3ddc39cc2da03cf4a6eb9db
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since Android 5.0 Google introduce a nasty bug[1] which calls
JNI_OnLoad more than once.
Basically every time when a library is loaded JNI_OnLoad is
called if found, but it calls *again* JNI_OnLoad of its .so
dependencies!
[1] Workaround https://code.google.com/p/android/issues/detail?id=215069
Change-Id: I2894dd24afa9c51582f20ab44d83e9ce86751716
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Somehow clang fails to properly export the default destructor.
Should be revered when https://github.com/android-ndk/ndk/issues/143 is fixed.
Change-Id: I842f4141f249181ec871634b947e1c08470ddb83
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The logic for this existed already. However an unintentional name override
and proper QByteArray comparison prevented it from ever being activated.
Change-Id: I73ac6c03b82cfbc11f5d755381ae89a3e8a3d9e5
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
| |
| |
| |
| | |
Change-Id: I097a3e0d7372038a600369ead4c5cead82f8d7d5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Cases such as partial writes were silently ignored.
Since QLowEnergyController works in unbuffered mode such incomplete
writes are ignored. The ATT layer will automatically recover from such
packets on the line.
The EAGAIN case is a similar case as it effectively
means the BTLE connection is still ok but the packet can temporarily
not be written anyway. In fact, previously QBluetoothSocket reported such cases by
returning -1 as a result of QBLuetoothSocket::write(). This was even worse
as it caused a drop of the connection without justification.
These issues are reproducable when the BTLE connection is flooded
with lots of notifications.
Task-number: QTBUG-54475
Change-Id: I2b6be555ff676c440971981db0974be83c901eaa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the Bluetooth connection is flooded with information, EAGAIN is returned.
So far this was considered an unrecoverable error which is not consistent
with the meaning of EAGAIN.
In buffered mode we'll put the data back into the buffer and in
unbuffered mode the QIODevice::write() call returns 0 which leaves the
developer the option to retry.
At the same time this patch ensures that write() calls always return
the actual number of written bytes and not the amount of bytes the caller
asked for to be written.
Partial writes in buffered mode are returned to the buffer too.
Task-number: QTBUG-54475
Change-Id: Iffc7980d2477e1fc0b45808431af6b7fecd38ded
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: Ifbb36469f4a325b1b783cb3b018d7793680a9055
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-54055
Change-Id: Id2c42efe6c916b6f7437cb4c02fbb19430c9a44b
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
See http://comments.gmane.org/gmane.comp.lib.qt.devel/25771
Change-Id: If8088468d74b1d5ca87ccb82ce294396383401d1
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qbluetoothdevicediscoveryagent_p.cpp not needed on iOS, since
for iOS we already have iOS-specific version defined completely in the
corresponding .mm file. This is quite obvious ODR violation, but not
so obvious for compiler/linker apparently.
Change-Id: I7b7d0c9596cccea307ec7acbafbb6cd31b41d885
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It seems clang trunk cannot distinguish std::bind from bind() in
sys/socket.h. There is no apparent std namespace usage but clang
still complains. This patch resolves the disambiguity.
Task-number: QTBUG-53683
Change-Id: Ib4bbe4a4cdf679fa3314abba5970968d7d8a9857
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
|
|\ \
| | |
| | |
| | | |
Change-Id: I7cd3889f3c2c82a51496b74813cfdee6495517fa
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-53913
Change-Id: I0bd8a21a01531d530ba09d94a6fb839c4e43c630
Reviewed-by: Sami Makkonen <sami.makkonen@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Without this fix Qt Creator tags the example "broken".
Change-Id: I193177bca1e0c8615e46a67e76afc98d935e590b
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
| |\ \
| | | |
| | | |
| | | | |
Change-Id: Ia4d1af9c446b3248d7b4fd7c2ceef845099885a4
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
Change-Id: I5406c601fa05e347a7c7558e42fb05029799ff27
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The documentation was not complete as BTLE service definition and
interaction was still missing. Those components are new in Qt 5.7.
Change-Id: Ifd9057d659e541a853eeb49d03d46bfe9c2d4da4
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ic683b32daa35fc771f848046b26fd6edfdaaa0c7
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
|