The commit introdocing RSSI read for Android
bc6e4e2860
seems to miss a 'break' statement when checking
BT LE (central) job type, causing MTU exchange to
also perform an RSSI read.
Pick-to: 6.7 6.5
Change-Id: I6746148b39dc11af6527efd8b41d25940a93ca49
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 86b957da94)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This change adds CBCentralManagerDelegate for listening bluetooth
state changes. This enables the emission of
QBluetoothLocalDevice::hostModeStateChanged() signal also on macOS.
This is a manual cherry-pick from 788a21a443584473ed7669cedb46dbcbd009954f
Pick-to: 6.7 6.5
Fixes: QTBUG-123425
Change-Id: I788ed70fe67ea3fcae970988136650abef030c4b
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
The QDoc command `\tableofcontents` was rendered useless by a change
more than a decade ago. Remove the use of `\tableofcontents` as it
serves no purpose, and ensure that the surrounding context still makes
sense for the reader, by removing preceding text that refers to a
non-existing table of contents, such as `Contents:`.
Task-number: QTBUG-128173
Change-Id: Iaed52f113633f97fa58705298140d2e68bdd3683
Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
(cherry picked from commit c39aa15c0f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The ChannelDelegate::channelClosed() virtual method is called in two
cases:
* when an attempt to open the channel failed (because of the timeout
or an error in rfcommChannelOpenComplete() callbalk).
* when the rfcommChannelClosed() callback is triggered. This happens
only when the remote host closes the connection.
In the first case we set UnknownSocketError. Keep this behavior.
In the second case no error was reported, which is different from how
other backends behave. This patch updates the code to set the
RemoteHostClosed error if the channelClosed() is called, and the
socket was in Connected state.
Task-number: QTBUG-123430
Pick-to: 6.7 6.5
Change-Id: Ie21a2e66b570a32b1c4401305738515bc6d04f85
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
(cherry picked from commit c382034457)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
An attempt to open an RFCOMM channel should trigger an
rfcommChannelOpenComplete() callback which has an error status.
This happens correctly if the channel is opened successfully (the error
is kIOReturnSuccess in this case).
However, when the remote device is turned off, the attempt to open an
RFCOMM channel never triggers any callback, so the socket simply
hangs in the Connecting state.
Fix it by explicitly using a connection timer. The timer timeout is
picked more or less randomly, but 5s looks like a reasonable time,
because at this point we are simply trying to connect to a known
service. No discovery is needed.
As a drive-by: update the error handling code path in
rfcommChannelOpenComplete() to also signal that the channel is closed.
Otherwise the socket will report an error, but keep hanging in the
Connecting state. This code path is never executed now, but it might
be fixed in later macOS releases.
Task-number: QTBUG-123430
Pick-to: 6.7 6.5
Change-Id: I187a0b2e293462c6e9b7e5e3afee2e6ddf4d2ab1
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
(cherry picked from commit 05b8398aa6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
After making internal Java classes non-public, using the init
classes mechanism doesn't work, so do the initialization from
within the module's JNI_OnLoad() instead.
Amends 8e38a6ffcf.
Task-number: QTBUG-126478
Change-Id: I370f9c9f860195a688f4e65db976d45e238a11b7
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
(cherry picked from commit 025020adf3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Remove android:icon property from annotatedurl example
AndroidManifest.xml as there are no icons to be used. This results
in Android resource linking failure.
Fixes: QTBUG-127407
Change-Id: Ic74f6879f4ec593fdaa4b36d2233bd48df0c5f8f
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit f2660541d8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The correct page title to link to is 'Qt for Linux/X11'.
Change-Id: I9de1a6882e0f81867caff649fcff6b5874654f49
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
(cherry picked from commit 285729563f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This probably only worked on Little-Endian machines, but it's UB
there, too, of course.
Wasn't detected by the compiler because qsnprintf() doen't have
__attribute__(printf), for some reason.
Prepare the folded part of the line so a follow-up port to
std::snprintf() doesn't have to re-indent it.
Amends 3ee0be1013.
[ChangeLog][QtBluetooth][sdpscanner] Fixed a bug involving broken
serialization of SDP_(U)INT64 DTDs on Big-Endian machines.
Pick-to: 6.7 6.5 6.2 5.15
Change-Id: Ib4e24007cf498814f3c91b5a57e7dfd6a311926c
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit fcee2074e1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Standard types are now declared in qjnitypes.h, so remove the
unnecessary (and already #ifdef'ed out) declarations here.
Remove some unnecessary `;` from the lines using the macro.
Change-Id: I0549efc060f19f0ba6026170aca251b6fea98767
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit ea4fead42c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
And call setContext() for the static init class from JNI_OnLoad
in qt bluetooth, otherwise, making this class private will prevent
the init class setContext() to be called from QtLoader.
Task-number: QTBUG-126371
Task-number: QTBUG-126478
Change-Id: I39c9cecdabae9286c80b8a82eb31f14654efa54e
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
(cherry picked from commit 5cf2538b91)
This Java code is mainly an internal implementation detail for
the Qt for Android plugin, and isn't meant to be public
in the first place.
Task-number: QTBUG-126371
Change-Id: I45730737a291298dfa66c0f24e3fcda62fe39c9c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 26e85f88ab)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Only declare the standard types locally if the
QT_DECLARE_JNI_CLASS_STANDARD_TYPES preprocessor symbol is undefined.
That allows us to merge the relevant changes in each submodule
independently, without having to orchestrate the submodule update.
Once all changes are in and the submodule update is through, remove
the declarations entirely.
Change-Id: I01a9a13ae7a1c56809d2755eb2318677264e33f0
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 0aa72e9992)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Use QJniArray directly, or declare the array type as an alias for
QJniArray<DeclaredClass>. Some more porting away from direct array
unwrapping left for a follow-up commit.
This remove the last usage of Q_DECLARE_JNI_TYPE from this repository.
Change-Id: I5cf08ac5ad5e3e3f909c9c13cabdfc9ab449134c
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit f4dd99b46b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This Java code is mainly an internal implementation detail for
the Qt for Android plugin, and isn't meant to be public
in the first place.
Task-number: QTBUG-126371
Change-Id: I45fb22927acb26506aa6369475aa49e5f366d578
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
(cherry picked from commit b2f177c4b9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Verified that it works using nRF Connect to generate the
BTLE 5 Extended Advertising packages.
Also verified that the legacy advertising keeps working.
Fixes: QTBUG-124650
Pick-to: 6.7 6.5
Change-Id: Id32e262973f85dc3c07b2c4afbcb3777a4d75e4b
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
(cherry picked from commit 28127f4e26)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The behavior that argument was enabling is the default one now.
Task-number: QTBUG-90492
Change-Id: Ifd719331386e835cdc23f83b8f53fb58345d51ae
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Currently it is not possible to decide if an unexpected card
was used or the connection failed in general. So we need to
add a new Error to QNearFieldTarget.
[ChangeLog][QtNfc][QNearFieldTarget] Add a new
UnsupportedTargetError error code.
Change-Id: I8f88bb81b998e61516ed4ceef207ba1528061e7d
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>