Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qandroidextras.cpp File Reference

(510cc564c07d41c2eb1689f1928c0b77f652ceb5)

#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"
+ Include dependency graph for qandroidextras.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 ()
 
static jboolean onTransact (JNIEnv *, jclass, jlong id, jint code, jobject data, jobject reply, jint flags)
 
static void onServiceConnected (JNIEnv *, jclass, jlong id, jstring name, jobject service)
 
static void onServiceDisconnected (JNIEnv *, jclass, jlong id, jstring name)
 
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< uintnextUniqueActivityRequestCode = Q_BASIC_ATOMIC_INITIALIZER(0)
 
static const char qtNativeClassName [] = "org/qtproject/qt/android/QtNative"
 
static Q_CONSTINIT QBasicMutex g_pendingPermissionRequestsMutex
 

Typedef Documentation

◆ PendingPermissionRequestsHash

using PendingPermissionRequestsHash = QHash<int, QSharedPointer<QPromise<QtAndroidPrivate::PermissionResult>>>

Definition at line 1075 of file qandroidextras.cpp.

Function Documentation

◆ nextRequestCode()

static int nextRequestCode ( )
static

Definition at line 1079 of file qandroidextras.cpp.

References Q_BASIC_ATOMIC_INITIALIZER.

Referenced by requestPermissionsInternal().

+ Here is the caller graph for this function:

◆ onServiceConnected()

static void onServiceConnected ( JNIEnv * ,
jclass ,
jlong id,
jstring name,
jobject service )
static

Definition at line 685 of file qandroidextras.cpp.

References onServiceConnected().

Referenced by onServiceConnected(), and QtAndroidPrivate::registerExtrasNatives().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ onServiceDisconnected()

static void onServiceDisconnected ( JNIEnv * ,
jclass ,
jlong id,
jstring name )
static

Definition at line 695 of file qandroidextras.cpp.

References onServiceDisconnected().

Referenced by onServiceDisconnected(), and QtAndroidPrivate::registerExtrasNatives().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ onTransact()

static jboolean onTransact ( JNIEnv * ,
jclass ,
jlong id,
jint code,
jobject data,
jobject reply,
jint flags )
static

Definition at line 675 of file qandroidextras.cpp.

References onTransact(), and reply.

Referenced by onTransact(), and QtAndroidPrivate::registerExtrasNatives().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Q_GLOBAL_STATIC()

Q_GLOBAL_STATIC ( PendingPermissionRequestsHash ,
g_pendingPermissionRequests  )

◆ requestPermissionsInternal()

QFuture< QtAndroidPrivate::PermissionResult > requestPermissionsInternal ( const QStringList & permissions)

Definition at line 1122 of file qandroidextras.cpp.

References QtAndroidPrivate::acquireAndroidDeadlockProtector(), QtAndroidPrivate::activity(), QtAndroidPrivate::androidSdkVersion(), future, g_pendingPermissionRequestsMutex, QtFuture::makeReadyRangeFuture(), QtFuture::makeReadyValueFuture(), nextRequestCode(), and QMutexLocker< Mutex >::unlock().

+ Here is the call graph for this function:

◆ resultFromAndroid()

QtAndroidPrivate::PermissionResult resultFromAndroid ( jint value)

Definition at line 1070 of file qandroidextras.cpp.

◆ sendRequestPermissionsResult()

static void sendRequestPermissionsResult ( JNIEnv * env,
jobject * obj,
jint requestCode,
jobjectArray permissions,
jintArray grantResults )
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 1092 of file qandroidextras.cpp.

Referenced by QtAndroidPrivate::registerPermissionNatives().

+ Here is the caller graph for this function:

◆ uniqueActivityRequestCode()

static int uniqueActivityRequestCode ( )
static

Definition at line 457 of file qandroidextras.cpp.

References nextUniqueActivityRequestCode, and qWarning.

Referenced by QAndroidActivityResultReceiverPrivate::globalRequestCode().

+ Here is the caller graph for this function:

Variable Documentation

◆ g_pendingPermissionRequestsMutex

Q_CONSTINIT QBasicMutex g_pendingPermissionRequestsMutex
static

Definition at line 1077 of file qandroidextras.cpp.

Referenced by requestPermissionsInternal().

◆ nextUniqueActivityRequestCode

Q_CONSTINIT QBasicAtomicInteger<uint> nextUniqueActivityRequestCode = Q_BASIC_ATOMIC_INITIALIZER(0)
static

Definition at line 454 of file qandroidextras.cpp.

Referenced by uniqueActivityRequestCode().

◆ qtNativeClassName

const char qtNativeClassName[] = "org/qtproject/qt/android/QtNative"
static