![]() |
Qt 6.x
The Qt SDK
|
#include "qandroidextras_p.h"
#include <QtCore/qbuffer.h>
#include <QtCore/qdatastream.h>
#include <QtCore/qjnienvironment.h>
#include <QtCore/qvariant.h>
#include <QtCore/qmutex.h>
#include <QtCore/qtimer.h>
#include <QtCore/qset.h>
#include "moc_qandroidextras_p.cpp"
Go to the source code of this file.
Classes | |
class | QAndroidParcelPrivate |
struct | FileDescriptor |
class | QAndroidBinderPrivate |
class | QAndroidActivityResultReceiverPrivate |
class | QAndroidServicePrivate |
Namespaces | |
namespace | QtAndroidPrivate |
\preliminary \inmodule QtCorePrivate | |
Typedefs | |
using | PendingPermissionRequestsHash = QHash< int, QSharedPointer< QPromise< QtAndroidPrivate::PermissionResult > > > |
Functions | |
static int | uniqueActivityRequestCode () |
QtAndroidPrivate::PermissionResult | resultFromAndroid (jint value) |
Q_GLOBAL_STATIC (PendingPermissionRequestsHash, g_pendingPermissionRequests) | |
static int | nextRequestCode () |
static void | sendRequestPermissionsResult (JNIEnv *env, jobject *obj, jint requestCode, jobjectArray permissions, jintArray grantResults) |
QFuture< QtAndroidPrivate::PermissionResult > | requestPermissionsInternal (const QStringList &permissions) |
Variables | |
static Q_CONSTINIT QBasicAtomicInteger< uint > | nextUniqueActivityRequestCode = Q_BASIC_ATOMIC_INITIALIZER(0) |
static const char | qtNativeClassName [] = "org/qtproject/qt/android/QtNative" |
static Q_CONSTINIT QBasicMutex | g_pendingPermissionRequestsMutex |
using PendingPermissionRequestsHash = QHash<int, QSharedPointer<QPromise<QtAndroidPrivate::PermissionResult> >> |
Definition at line 1036 of file qandroidextras.cpp.
|
static |
Definition at line 1041 of file qandroidextras.cpp.
References Q_BASIC_ATOMIC_INITIALIZER.
Referenced by requestPermissionsInternal().
Q_GLOBAL_STATIC | ( | PendingPermissionRequestsHash | , |
g_pendingPermissionRequests | |||
) |
QFuture< QtAndroidPrivate::PermissionResult > requestPermissionsInternal | ( | const QStringList & | permissions | ) |
Definition at line 1084 of file qandroidextras.cpp.
References QtAndroidPrivate::acquireAndroidDeadlockProtector(), QtAndroidPrivate::activity(), QtAndroidPrivate::androidSdkVersion(), future, g_pendingPermissionRequestsMutex, QtFuture::makeReadyRangeFuture(), QtFuture::makeReadyValueFuture(), nextRequestCode(), QSharedPointer< T >::reset(), and QMutexLocker< Mutex >::unlock().
QtAndroidPrivate::PermissionResult resultFromAndroid | ( | jint | value | ) |
Definition at line 1031 of file qandroidextras.cpp.
Referenced by sendRequestPermissionsResult().
|
static |
This function is called when the result of the permission request is available. Once a permission is requested, the result is braodcast by the OS and listened to by QtActivity which passes it to C++ through a native JNI method call.
Definition at line 1054 of file qandroidextras.cpp.
References QSet< T >::constEnd(), QSet< T >::constFind(), QSet< T >::erase(), g_pendingPermissionRequestsMutex, i, it, Q_UNUSED, qWarning, QtAndroidPrivate::releaseAndroidDeadlockProtector(), request, resultFromAndroid(), results, and QMutexLocker< Mutex >::unlock().
Referenced by QtAndroidPrivate::registerPermissionNatives().
|
static |
Definition at line 457 of file qandroidextras.cpp.
References QBasicAtomicInteger< T >::fetchAndAddRelaxed(), nextUniqueActivityRequestCode, and qWarning.
Referenced by QAndroidActivityResultReceiverPrivate::globalRequestCode().
|
static |
Definition at line 1039 of file qandroidextras.cpp.
Referenced by requestPermissionsInternal(), and sendRequestPermissionsResult().
|
static |
Definition at line 454 of file qandroidextras.cpp.
Referenced by uniqueActivityRequestCode().
|
static |
Definition at line 1029 of file qandroidextras.cpp.
Referenced by QtAndroidPrivate::registerNativeInterfaceNatives(), and QtAndroidPrivate::registerPermissionNatives().