From a22807beee00050ebf04f069cdf0ea4ab40ebbf9 Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Fri, 18 Oct 2019 09:59:38 +0200 Subject: 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 Reviewed-by: Oliver Wolff --- src/bluetooth/qbluetoothdevicediscoveryagent_android.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/bluetooth') 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")); -- cgit v1.2.3