summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Bump version5.12Frederik Gladhorn2019-11-071-1/+1
|
* Bump versionFrederik Gladhorn2019-10-301-1/+1
|
* Fix classic device discovery on AndroidAlex Blasche2019-10-290-0/+0
| | | | | | | | | | | | | | | It seems recent Android releases (at least confirmed for Android 9) require location permission for classic device discovery. Previously, it was only required for BTLE discovery. This patch ensures the permission check is done for every type of device discovery on Android. Task-number: QTBUG-69615 Change-Id: I9596c083ecfd9b5e861c1aa5e9900bab5f44237f (cherry picked from commit a22807beee00050ebf04f069cdf0ea4ab40ebbf9) Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Fix classic device discovery on AndroidAlex Blasche2019-10-211-4/+2
| | | | | | | | | | | | | | | | | It seems recent Android releases (at least confirmed for Android 9) require location permission for classic device discovery. Previously, it was only required for BTLE discovery. This patch ensures the permission check is done for every type of device discovery on Android. Task-number: QTBUG-69615 Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit a22807beee00050ebf04f069cdf0ea4ab40ebbf9) Change-Id: I4cc48aa659e38c89d956090b9fd995f346f01e7d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.12.5' into 5.12"Qt Forward Merge Bot2019-09-082-1/+39
|\
| * Merge remote-tracking branch 'origin/5.12.5' into 5.12Qt Forward Merge Bot2019-09-072-1/+39
| |\ |/ / | | | | Change-Id: I6d8c7763728702c3133ecf4c15fbfa7657eb5b21
| * Add changes file for Qt 5.12.5 and fix 5.12.4 change filev5.12.55.12.5Alex Blasche2019-08-272-1/+39
|/ | | | | | | | | | | | | | + 3394807b3b0a234452b76e6295cb2362dc2c0cc0 Bump version + 0fc7e18bf7a24c9408602242d51a852905dfd0da Core/IO/Bluetooth - fix ambiguous conversions + 8a6d9c307851f3492ddc597f5f03e80f236a7857 Fix compilation with C++20 + 4ac755bb6e51891881b7477702be8ca917b60c8a winrt: Do not try to delete nullptr worker + 263fc5186325a7dd59a7533b98b3bf1296ea0d16 Do not handle PAIRING_VARIANT_PIN + 8110fdd4c6d80d05934768fa808a4cb187212fe0 Core/IO/Bluetooth - fix ambiguous conversions for macOS + c9d585da2ddd49108d7b56f480bcfc9d71b67dbf winrt: Add limitations to bluetooth overview page + 406b18fdb3704a9e9e66cefbc74e7cff55f1947c Fix QLEAdvertisingData::setManufacturerData on Android Change-Id: Ib8bf9529e85e8f8c2f76c203120afb3d9ceca492 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix QLEAdvertisingData::setManufacturerData on AndroidAlex Blasche2019-08-071-1/+1
| | | | | | | | | The manufacturer data was not properly set because the related Java function requires a byte[] as second parameter. The equivelent JNI type is [B and not [B]. This caused a crash of the application. Change-Id: Iaa062ed9eb01e03d155583519d3f6a6bc01d72f7 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* winrt: Add limitations to bluetooth overview pageOliver Wolff2019-07-241-1/+6
| | | | | | | | | | | | | Same as on Android, Obex is not supported on winrt. Even though QBluetoothServiceInfo has a small passage about winrt's limitations when it comes to RFCOMM. Users might miss these limitations as they are quite hidden. Make them more visible by also having them in the overview. Task-number: QTBUG-62520 Change-Id: Ibdf1a9b334b7138301e833981e67c7813488bbd1 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Core/IO/Bluetooth - fix ambiguous conversions for macOSAndré Klitzing2019-07-196-26/+26
| | | | | | | This is a sibling of QTBUG-76847 on macOS instead of iOS. Change-Id: I3df6e28d65b9835f5f54e92d462d23423c48d835 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Do not handle PAIRING_VARIANT_PINAlex Blasche2019-07-173-13/+11
| | | | | | | | | | | | | | | The user has to enter a pin in such cases. Since QBluetoothLocalDevice does not have an API to return a pin it makes no sense for QtBluetooth to handle this type of request. Android will provide its own fall back form. This patch is mostly a revert of f8c0572ddcd. Fixes: QTBUG-76565 Task-number: QTBUG-70295 Change-Id: I61062ac84ce508f3b82c7359a60d5c9c5bba86a4 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* winrt: Do not try to delete nullptr workerOliver Wolff2019-07-171-3/+1
| | | | | | | | | | | When calling QBluetoothDeviceDiscoveryAgentPrivate::stop the worker pointer is cleared in disconnectAndClearWorker so there is no need to call deleteLater (which will just result in a warning). Change-Id: I2713474833b61a12018ecfa6f9eb11618ed025a7 Task-number: QTBUG-75089 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix compilation with C++20Marc Mutz2019-07-161-2/+2
| | | | | | | | | Implicit capture of 'this' in [=] is deprecated in C++20. Fix by using explicit capture. Change-Id: I96132d83d87ae61986ba1b1ea3f9cf8e50059f1f Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Core/IO/Bluetooth - fix ambiguous conversionsTimur Pocheptsov2019-07-053-8/+8
| | | | | | | | | | ... somewhat prospective fix (I do not have the new iOS yet), so far build never failed with my current SDK. Fixes: QTBUG-76847 Change-Id: Iab75c3cd47144cd83b679b1dbf82339e29c07bd1 Reviewed-by: André Klitzing <aklitzing@gmail.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Bump versionFrederik Gladhorn2019-07-011-1/+1
| | | | Change-Id: Ia7d6c7678e68e0ea5943d06fdfbb5a150a87c149
* Merge "Merge remote-tracking branch 'origin/5.12.4' into 5.12"Qt Forward Merge Bot2019-06-262-1/+40
|\
| * Merge remote-tracking branch 'origin/5.12.4' into 5.12Qt Forward Merge Bot2019-06-262-1/+40
| |\ |/ / | | | | Change-Id: I38bcbad1bc8d0f03ba0ee3aa09f8c3e867dd6bca
| * Add changes file for Qt 5.12.4v5.12.45.12.4Alex Blasche2019-06-061-0/+39
| | | | | | | | | | Change-Id: Icb632a9e34f7c507153291322edc6f5c008b7b21 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * Bump versionFrederik Gladhorn2019-05-231-1/+1
|/ | | | Change-Id: I48c1d05ac0c9b231f7f1e077f3096274fe07435f
* BlueZ: Fix leaking client socket when running QLEController Peripheral modeAlex Blasche2019-05-082-0/+11
| | | | | | | | | | | | | In fact there are two socket leaks. The first is the socket for the incoming l2cp connection from the central device and the second one is allocated in the ctor of QBluetoothSocket. When QBluetoothSocket::setSocketDescriptor is called the previously ctor allocated socket was simply ignorred. This patch closes both socket. Fixes: QTBUG-75278 Change-Id: Ia483e3c2a04bec3a53ddf744c22b794941edf848 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Bluetooth: Compare the server channel when checking for duplicatesAndy Shaw2019-05-101-1/+2
| | | | | | | | | It is possible that the service will appear to be the same but have different server channels. So these services should not be seen as duplicates as a result. Change-Id: I36f9c376fcfd9378f4f18c639e87e1a7aad1815b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Merge remote-tracking branch 'origin/5.12.3' into 5.12Qt Forward Merge Bot2019-04-171-0/+42
|\ | | | | | | Change-Id: I963e91cc2547b4ceedcebd22c17149385c503575
| * Add changes file for Qt 5.12.3v5.12.35.12.3Alex Blasche2019-04-031-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | + 3f9ba9c07322d90f8f918d9e144e84d422e4cfbd Bluez-DBus: Fix crash at calling disconnect while not connected + a61ee48bc16fae61cabb9a242f3a7c19caa4cbfd LE/Android: add consistency check in method called from Qt API + 16f033fb13a3005eefbe8b7b6ccc52bfda08649e Address compile error on gcc 4.8 + c488aedb42cda76085cfc0ed2602c34c3b5353a6 Bump version + 75648df8fa91fc0918285988e75ec996f0dc0f97 qlowenergycontroller_android_p.h: Remove unrelated preprocessor blocks + 043145014565dad540b416a0b369a7d04630e649 Update SensorTag documentation URL + 545b282d6d4a3c66e00c41ffd83c1a69f6fd0ad2 Ensure DBus based QBluetoothSocket emits bytesWritten() signal + d21da7829811d129b96ca0eb2a56cb6bdae4f1a7 Convert bttestui to Qt5 style connect() syntax Change-Id: Ibbd7fed9375e8990882ab4d85c1875dcdb5b76c4 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | CoreBluetooth: add a missing -peripheral:didModifyServices: methodTimur Pocheptsov2019-04-164-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With some peculiar device we suddenly (during the service details discovery) got a crash with CBDescriptor suddenly becoming something else - NSString, NSMutableArray etc. - meaning the object was deleted and its memory re-used. It would appear, CBPeripheral can suddenly change it's services tree and it informs its delegate (aka 'us') about this change using the (previously) missing method. In this method we cannot do much, due to the specificity of our public API that allows concurrent discoveries, it's 'non-monolitic' (in several steps) discoveries etc. etc. So the only thing we can do - stop everything, remove all services, transition to QLowEnergyController::ConnectedState and wait for a user to re-discover services. Fixes: QTBUG-75043 Change-Id: Ie98d90aea112e40b4c6771e3f7315772dfd92b39 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | winrt: Fix reading of descriptor valuesOliver Wolff2019-04-151-8/+12
| | | | | | | | | | | | | | | | | | | | We have to access the service data instead of relying on passed references as these references might have run out of scope and thus might not be valid any more. Fixes: QTBUG-75070 Change-Id: I02ad0fef2337488c926fb950ddf2da6eda56a396 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Don't create QBluetoothServiceInfo when uuid is nullAlex Blasche2019-04-121-1/+4
| | | | | | | | | | | | | | | | Sometimes Android returns a null uuid as SDP result. There is no point processing them further. Change-Id: I07b52e79a31becda72452e3446aca9ea4933968b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Android: Don't filter SPP uuidAlex Blasche2019-04-121-11/+12
| | | | | | | | | | | | | | | | | | | | Even though it is not recommended to listen on reserverd BT UUIDs, there are SPP services which do not advertise with a custom uuid or the custom uuid is not an SPP service. In such cases we want a BluetoothServiceInfo instance that advertises SPP as serviceUuid(). Change-Id: Ic54d663392f8f8b2ba5684c57216bf2b69aca477 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Streamline QBluetoothServiceDiscoveryAgentPrivate::populateDiscoveredServicesAlex Blasche2019-04-101-32/+33
| | | | | | | | | | | | | | | | | | The changes are of cosmetic or code optimization nature. The functionality is not changed at all. Change-Id: Ideb63d87ed07201024b73e2f40d33393b68963bc Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Android: Increase chance of establishing serial connection w/o SPP uuidAlex Blasche2019-04-102-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SDP discovery on Android only returns a flat list of uuids. It mixes service class uuid and service uuids. Furthermore it is unable to detect whether a serial connection uses rfcomm or l2cp as base protocol. The last limitation is the fact that serial sockets can only be established using rfcomm (no l2cp). This poses a serious challenge because there is no way to say whether a given custom service uuid is indeed an SPP based service or whether it uses rfcomm. The only way to know for sure is to connect and check whether it succeeds. This also means QBluetoothServiceInfo instances returned by QBluetoothServiceDiscoveryAgent may or may not mark a serial service with SPP uuid or rfcomm protocol tag. Currently, it guess that that a custom uuid together with SPP uuid implies an rfcomm setup. If the SPP uuid was not found, rfcomm is never set (but is a requirement for QBluetoothSocket). This patch makes QBluetoothSocket on Android a bit more forgiving by assuming every given QBluetoothServiceInfo instance requires rfcomm. After all that's the only supported protocol on Android. Fixes: QTBUG-75035 Change-Id: I498ac5acd2a394b198a113fd23d750bbf17a7f7b Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | Fix clang-cl errors about narrowing conversionsKai Koehne2019-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Force value to be a DWORD (unsigned long) instead of HRESULT (signed long). Fixes bluetoothsocket_winrt.cpp(770,10): error: case value evaluates to 2147952460, which cannot be narrowed to type 'long' [-Wc++11-narrowing] Change-Id: I4f1eb75807d4783b835094ad1b33e56f601ffb39 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Use QAndroidJniExceptionCleaner instead of QAndroidJniEnvironmentBogDan Vatra2019-04-051-11/+4
| | | | | | | | | | Change-Id: I357091799f04a3ef1c8df78960eb63a46e2b3d6c Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Fix possible leakBogDan Vatra2019-04-051-2/+1
| | | | | | | | | | Change-Id: Ide883a3c354eb42ea0017e1d623843967b522083 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Check the reverted UUID when filteringBogDan Vatra2019-04-053-25/+33
| | | | | | | | | | Change-Id: Idb12d3bb116d6c5b34f1ca145f473b118b58d5ee Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Enable bttestui to test QBluetoothSocket::bytesWritten() signalAlex Blasche2019-04-011-0/+6
|/ | | | | Change-Id: Id29865014043963f7edf22cc81a2bd7a91c55a60 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Convert bttestui to Qt5 style connect() syntaxAlex Blasche2019-03-251-45/+45
| | | | | Change-Id: Ib110da9e0a28fe54b12bcfe92d1e58447a42328e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Ensure DBus based QBluetoothSocket emits bytesWritten() signalAlex Blasche2019-03-251-0/+2
| | | | | | | | | [ChangeLog][QtBluetooth][Linux/BlueZ] Fixed missing emission of QBluetoothSocket::bytesWritten() signal on Bluez v5.46+. Fixes: QTBUG-74513 Change-Id: I93cb5abe65e13f6a5cc5bb195cc98526a507916a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Update SensorTag documentation URLAlex Blasche2019-03-251-2/+3
| | | | | Change-Id: Ia97bc59eb1d26aeba00d1c729b327c2eb857987c Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* qlowenergycontroller_android_p.h: Remove unrelated preprocessor blocksOliver Wolff2019-03-251-16/+0
| | | | | Change-Id: I964806ccdb3bd39a33b860d496ef05f8b96135db Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Bump versionKari Oikarinen2019-03-211-1/+1
| | | | Change-Id: I9bfd6c6128289f20221f8cb0176cbc527997490e
* Address compile error on gcc 4.8Alex Blasche2019-03-193-6/+12
| | | | | | | | | | | | | | | | This partly reverts b3b387698e8f685e8bd4f4843a170da40e17249b. The global static connect was not correct. Furthermore the new global static variable was triggering src/nfc/qnearfieldtarget_emulator_p.h:125:31: warning: 'globalTagActivator' defined but not used [-Wunused-variable] The global static variable is shifted to no longer require exposure inside the header file. Fixes: QTBUG-74538 Change-Id: Ic5e8211d358bae9c2ed0418aec5c4316fb249c98 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* LE/Android: add consistency check in method called from Qt APIKonstantin Ritt2019-03-191-0/+3
| | | | | | | | Call to includedServices() from Qt side after unexpected disconnection leads to NullPointerException due to unchecked member access. Fix that! Change-Id: Iae89801d7af86d5a3f34ebba9eb2ea12da252cd2 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/5.12.2' into 5.12Qt Forward Merge Bot2019-03-151-0/+61
|\ | | | | | | Change-Id: I827d33a90bdbd52d76d2d8c9b295b60d5fbb5ebd
| * Add changes file for Qt 5.12.2v5.12.25.12.2Alex Blasche2019-02-251-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 45608abda7b9470ec0b3ea26e849ec71b637288d Don't reverse uuids which are derived from Bluetooth's base uuid + e957470ae0e61eea1afa96d76468dbdc87168421 Ensure custom uuids are returned by QBluetoothServiceInfo::serviceUuid() + 41ac7f7da4367d4923b19c693f469425b8e6e0f0 Fix a few clazy warnings + 0b4aadadf19adff87fd6a847458be742220fc8fd Bump version + 1bba2694302b7200d62d715827f20e8f830d9e03 Check for system feature PackageManager.FEATURE_NFC + c6cd43df27eb967404c10c1216c0f186fc03b226 LE/Android: trivial typo fixes + 1d964be81b0081d2ccdbf5c9a875672f447b5977 LE/Android: fix crash when destroying DiscoveryAgent during scan + 80a1346a139343b221d49b7c7b7fabcd55669a65 Doc: Fix link error to \macos + 7accd34495a8269f9b335446ae779bd56cd4c4c0 Bluetooth LE scan - fix a crash (CoreBluetooth) + d41eaba6fb19350d51e6487440af13ac4320f46e Fix potential bug in osxbtcentralmanager + 862c766f0896314bf850c5573bb39788f211c1e1 Add Android exclamation to QBluetoothServiceDiscoveryAgent ctor docs + 1606ccb76ba72990df652fbd7f01d709ae20b63c Fix unit test failure on Android + 68982ef782d7e7c23ce25619f8be2bee1bca355d Ensure SDP records can be byte arrays/hex encoded + f5313bc82882cd5f211726f185dc77d106f41a49 Cleanup QBluetoothServiceInfo xml stream writer on Bluez + 1b19d7981610c2a9587544da654b4ca783e1bf6b Ensure signed int are written in base 10 notation Change-Id: I7ea4e13ad4b4612ab5688c08912c1f321e0b9c9d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Bluez-DBus: Fix crash at calling disconnect while not connectedChristian Wassmuth2019-03-051-0/+3
|/ | | | | | | | | | | Calling disconnectFromDevice() while not connected or in ClosingState caused a crash on accessing device which is null. [ChangeLog][QtBluetooth][Bluez-DBus] Fix crash at calling QLowEnergyController::disconnectFromDevice while not connected Change-Id: I5979e3e5fca62c4a1469014e4f553c7db24f8dac Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Ensure signed int are written in base 10 notationAlex Blasche2019-02-151-3/+3
| | | | | | | | | | | The code was converting signed ints/chars/shorts to hex notation without prepanding the '0x'. This led to Bluez reading the value as base 10 value and created the problem that values containing letters were improperly parsed. Fixes: QTBUG-73330 Change-Id: I9407a82495761b2e541e13b282ad6ccdb7cdd84a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Cleanup QBluetoothServiceInfo xml stream writer on BluezAlex Blasche2019-02-151-11/+3
| | | | | Change-Id: Iad66628307a2167cdd6c64080457c670697bd1f7 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Ensure SDP records can be byte arrays/hex encodedAlex Blasche2019-02-155-33/+105
| | | | | | | | | | | | | | This addresses the issue on Bluez only. macOS ignore such attribute values and WinRT implicitly converts them to hex strings. The macOS debug stream operator produced slightly different output compared to the other platforms. The output between the platforms must match though. Therefore, the general version was copied over to macOS. Task-number: QTBUG-73328 Change-Id: Ieea2a3a559b5686f7f7d16d5c75dd9ef2782cdf5 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix unit test failure on AndroidAlex Blasche2019-02-081-11/+31
| | | | | | | | | | | | | | | | | | | | | It fixes the following failure FAIL! : tst_QBluetoothServiceDiscoveryAgent::tst_invalidBtAddress() Compared values are not the same Actual (discoveryAgent->error()) : InvalidBluetoothAdapterError Expected (QBluetoothServiceDiscoveryAgent::NoError): NoError This behavior was caused by the fact that the InvalidBluetoothAdapterError was already triggered in the QBluetoothServiceDiscoveryAgent ctor whereas convention for this class states that the error is set when QBluetoothServiceDiscoveryAgent::start() is called. The fix detects whether the requested local adapter address matches the existing local adapter address. If there is no match Invalid adapter error is thrown. Task-number: QTBUG-73571 Change-Id: I3216e1609820a66893768b33f0fc695fbad6966a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Add Android exclamation to QBluetoothServiceDiscoveryAgent ctor docsAlex Blasche2019-02-081-0/+5
| | | | | | | | | Passing the local address does not work because the passed address cannot be matched against the local adapter address. For privacy reasons this is not possible anymore since Android 6.0. Change-Id: Iacc632dda4af83265bdc3a062c0eba6c31cfa596 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Fix potential bug in osxbtcentralmanagerTimur Pocheptsov2019-02-081-1/+3
| | | | | | | | | | Similar to the problem found in osxbtleinquiry - 'timers' waiting to fire on "qt-LE-queue" know nothing about us, potentially deleting the delegate object in response to Bluetooth switched off. Task-number: QTBUG-73140 Change-Id: I1a39a1ca02d019f90a1b4214cdbbb76e26b9eea0 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>