summaryrefslogtreecommitdiff
path: root/src/bluetooth/android/androidutils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bluetooth/android/androidutils.cpp')
-rw-r--r--src/bluetooth/android/androidutils.cpp32
1 files changed, 8 insertions, 24 deletions
diff --git a/src/bluetooth/android/androidutils.cpp b/src/bluetooth/android/androidutils.cpp
index 7c99bad3..22160ab7 100644
--- a/src/bluetooth/android/androidutils.cpp
+++ b/src/bluetooth/android/androidutils.cpp
@@ -4,40 +4,24 @@
#include "androidutils_p.h"
#include "jni_android_p.h"
-#include <QtCore/QLoggingCategory>
+#include <QtCore/qcoreapplication.h>
+#include <QtCore/qloggingcategory.h>
#include <QtCore/private/qandroidextras_p.h>
QT_BEGIN_NAMESPACE
Q_DECLARE_LOGGING_CATEGORY(QT_BT_ANDROID)
-static QString androidPermissionString(BluetoothPermission permission)
+bool ensureAndroidPermission(QBluetoothPermission::CommunicationModes modes)
{
- switch (permission) {
- case BluetoothPermission::Scan:
- return {QStringLiteral("android.permission.BLUETOOTH_SCAN")};
- case BluetoothPermission::Advertise:
- return {QStringLiteral("android.permission.BLUETOOTH_ADVERTISE")};
- case BluetoothPermission::Connect:
- return {QStringLiteral("android.permission.BLUETOOTH_CONNECT")};
- }
- return {};
-}
-
-bool ensureAndroidPermission(BluetoothPermission permission)
-{
- // The current set of permissions are only applicable with 31+
- if (QNativeInterface::QAndroidApplication::sdkVersion() < 31)
- return true;
-
- const auto permString = androidPermissionString(permission);
+ QBluetoothPermission permission;
+ permission.setCommunicationModes(modes);
- // First check if we have the permission already
- if (QtAndroidPrivate::checkPermission(permString).result() == QtAndroidPrivate::Authorized)
+ if (qApp->checkPermission(permission) == Qt::PermissionStatus::Granted)
return true;
- qCWarning(QT_BT_ANDROID) << "Permission not authorized:" << permString;
- return false;
+ qCWarning(QT_BT_ANDROID) << "Permissions not authorized for a specified mode:" << modes;
+ return false;
}
QJniObject getDefaultBluetoothAdapter()