summaryrefslogtreecommitdiffstats
path: root/src/corelib/platform/android/qandroidextras_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/platform/android/qandroidextras_p.h')
-rw-r--r--src/corelib/platform/android/qandroidextras_p.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/corelib/platform/android/qandroidextras_p.h b/src/corelib/platform/android/qandroidextras_p.h
index 464c7f8aea..587c8661d6 100644
--- a/src/corelib/platform/android/qandroidextras_p.h
+++ b/src/corelib/platform/android/qandroidextras_p.h
@@ -60,6 +60,10 @@
#include <QtCore/qcoreapplication.h>
#include <QtCore/qmap.h>
+#if QT_CONFIG(future)
+#include <QtCore/qfuture.h>
+#endif
+
QT_BEGIN_NAMESPACE
class QAndroidParcel;
@@ -255,6 +259,42 @@ namespace QtAndroidPrivate
Q_CORE_EXPORT bool bindService(const QAndroidIntent &serviceIntent,
const QAndroidServiceConnection &serviceConnection,
BindFlags flags = BindFlag::None);
+
+#if QT_CONFIG(future)
+ enum PermissionType {
+ Camera,
+ Microphone,
+ Bluetooth,
+ Location,
+ PreciseLocation,
+ BackgroundLocation,
+ PreciseBackgroundLocation,
+ BodySensors,
+ PhysicalActivity,
+ Contacts,
+ Storage,
+ // TODO: remove after usages in other modules are renamed.
+ WriteStorage,
+ Calendar
+ };
+
+ enum PermissionResult {
+ Undetermined,
+ Authorized,
+ Denied
+ };
+
+ Q_CORE_EXPORT QFuture<QtAndroidPrivate::PermissionResult>
+ requestPermission(QtAndroidPrivate::PermissionType permission);
+ Q_CORE_EXPORT QFuture<QtAndroidPrivate::PermissionResult>
+ requestPermission(const QString &permission);
+
+ Q_CORE_EXPORT QFuture<QtAndroidPrivate::PermissionResult>
+ checkPermission(QtAndroidPrivate::PermissionType permission);
+ Q_CORE_EXPORT QFuture<QtAndroidPrivate::PermissionResult>
+ checkPermission(const QString &permission);
+#endif
+
}
QT_END_NAMESPACE