summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@qt.io>2019-10-18 09:59:38 +0200
committerAlex Blasche <alexander.blasche@qt.io>2019-10-18 14:41:13 +0200
commita22807beee00050ebf04f069cdf0ea4ab40ebbf9 (patch)
tree1e68d5e44862f6d519193883deb7ac6744683ac4
parent245f19122c2a6a112a35ee65556bcf00b6545d87 (diff)
Fix classic device discovery on Android
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 Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
-rw-r--r--src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp b/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp
index 443be14d..ce3b8f10 100644
--- a/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp
+++ b/src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp
@@ -150,10 +150,8 @@ void QBluetoothDeviceDiscoveryAgentPrivate::start(QBluetoothDeviceDiscoveryAgent
}
// check Android v23+ permissions
- // -> BTLE search requires android.permission.ACCESS_COARSE_LOCATION or android.permission.ACCESS_FINE_LOCATION
- if (requestedMethods & QBluetoothDeviceDiscoveryAgent::LowEnergyMethod
- && QtAndroid::androidSdkVersion() >= 23)
- {
+ // -> any device search requires android.permission.ACCESS_COARSE_LOCATION or android.permission.ACCESS_FINE_LOCATION
+ if (QtAndroid::androidSdkVersion() >= 23) {
const QString coarsePermission(QLatin1String("android.permission.ACCESS_COARSE_LOCATION"));
const QString finePermission(QLatin1String("android.permission.ACCESS_FINE_LOCATION"));