![]() |
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>.
|
#include <dlfcn.h>
#include <pthread.h>
#include <qplugin.h>
#include <semaphore.h>
#include "androidcontentfileengine.h"
#include "androiddeadlockprotector.h"
#include "androidjniaccessibility.h"
#include "androidjniinput.h"
#include "androidjnimain.h"
#include "androidjnimenu.h"
#include "androidwindowembedding.h"
#include "qandroidassetsfileenginehandler.h"
#include "qandroideventdispatcher.h"
#include "qandroidplatformdialoghelpers.h"
#include "qandroidplatformintegration.h"
#include "qandroidplatformclipboard.h"
#include "qandroidplatformwindow.h"
#include <android/api-level.h>
#include <android/asset_manager_jni.h>
#include <android/bitmap.h>
#include <QtCore/private/qjnihelpers_p.h>
#include <QtCore/qbasicatomic.h>
#include <QtCore/qjnienvironment.h>
#include <QtCore/qjniobject.h>
#include <QtCore/qprocess.h>
#include <QtCore/qresource.h>
#include <QtCore/qscopeguard.h>
#include <QtCore/qthread.h>
#include <QtGui/private/qguiapplication_p.h>
#include <QtGui/private/qhighdpiscaling_p.h>
#include <qpa/qwindowsysteminterface.h>
Go to the source code of this file.
Namespaces | |
namespace | QtAndroid |
Macros | |
#define | FIND_AND_CHECK_CLASS(CLASS_NAME) |
#define | GET_AND_CHECK_METHOD(VAR, CLASS, METHOD_NAME, METHOD_SIGNATURE) |
#define | GET_AND_CHECK_STATIC_METHOD(VAR, CLASS, METHOD_NAME, METHOD_SIGNATURE) |
#define | GET_AND_CHECK_FIELD(VAR, CLASS, FIELD_NAME, FIELD_SIGNATURE) |
#define | GET_AND_CHECK_STATIC_FIELD(VAR, CLASS, FIELD_NAME, FIELD_SIGNATURE) |
Typedefs | |
typedef int(* | Main) (int, char **) |
Functions | |
Q_DECLARE_JNI_CLASS (QtAccessibilityInterface, "org/qtproject/qt/android/QtAccessibilityInterface") | |
QBasicMutex * | QtAndroid::platformInterfaceMutex () |
void | QtAndroid::setAndroidPlatformIntegration (QAndroidPlatformIntegration *androidPlatformIntegration) |
QAndroidPlatformIntegration * | QtAndroid::androidPlatformIntegration () |
QWindow * | QtAndroid::topLevelWindowAt (const QPoint &globalPos) |
QWindow * | QtAndroid::windowFromId (int windowId) |
int | QtAndroid::availableWidthPixels () |
int | QtAndroid::availableHeightPixels () |
double | QtAndroid::scaledDensity () |
double | QtAndroid::pixelDensity () |
JavaVM * | QtAndroid::javaVM () |
AAssetManager * | QtAndroid::assetManager () |
jclass | QtAndroid::applicationClass () |
void | QtAndroid::setSystemUiVisibility (SystemUiVisibility uiVisibility) |
bool | QtAndroid::isQtApplication () |
void | QtAndroid::initializeAccessibility () |
void | QtAndroid::notifyAccessibilityLocationChange (uint accessibilityObjectId) |
void | QtAndroid::notifyObjectHide (uint accessibilityObjectId, uint parentObjectId) |
void | QtAndroid::notifyObjectShow (uint parentObjectId) |
void | QtAndroid::notifyObjectFocus (uint accessibilityObjectId) |
void | QtAndroid::notifyValueChanged (uint accessibilityObjectId, jstring value) |
void | QtAndroid::notifyScrolledEvent (uint accessibilityObjectId) |
void | QtAndroid::notifyNativePluginIntegrationReady (bool ready) |
jobject | QtAndroid::createBitmap (QImage img, JNIEnv *env) |
jobject | QtAndroid::createBitmap (int width, int height, QImage::Format format, JNIEnv *env) |
jobject | QtAndroid::createBitmapDrawable (jobject bitmap, JNIEnv *env) |
const char * | QtAndroid::classErrorMsgFmt () |
const char * | QtAndroid::methodErrorMsgFmt () |
const char * | QtAndroid::qtTagText () |
QString | QtAndroid::deviceName () |
void | QtAndroid::setViewVisibility (jobject view, bool visible) |
bool | QtAndroid::blockEventLoopsWhenSuspended () |
jobject | QtAndroid::assets () |
AndroidBackendRegister * | QtAndroid::backendRegister () |
static jboolean | startQtAndroidPlugin (JNIEnv *env, jobject, jstring paramsString) |
static void | waitForServiceSetup (JNIEnv *env, jclass) |
static void | startQtApplication (JNIEnv *, jclass) |
static void | quitQtCoreApplication (JNIEnv *env, jclass) |
static void | quitQtAndroidPlugin (JNIEnv *env, jclass) |
static void | terminateQt (JNIEnv *env, jclass) |
static void | setDisplayMetrics (JNIEnv *, jclass, jint screenWidthPixels, jint screenHeightPixels, jint availableLeftPixels, jint availableTopPixels, jint availableWidthPixels, jint availableHeightPixels, jdouble xdpi, jdouble ydpi, jdouble scaledDensity, jdouble density, jfloat refreshRate) |
static void | updateWindow (JNIEnv *, jobject) |
static void | updateApplicationState (JNIEnv *, jobject, jint state) |
static void | handleOrientationChanged (JNIEnv *, jobject, jint newRotation, jint nativeOrientation) |
static void | handleRefreshRateChanged (JNIEnv *, jclass, jfloat refreshRate) |
static void | handleScreenAdded (JNIEnv *, jclass, jint displayId) |
static void | handleScreenChanged (JNIEnv *, jclass, jint displayId) |
static void | handleScreenRemoved (JNIEnv *, jclass, jint displayId) |
static void | handleUiDarkModeChanged (JNIEnv *, jobject, jint newUiMode) |
static void | onActivityResult (JNIEnv *, jclass, jint requestCode, jint resultCode, jobject data) |
static void | onNewIntent (JNIEnv *env, jclass, jobject data) |
static jobject | onBind (JNIEnv *, jclass, jobject intent) |
static bool | registerNatives (QJniEnvironment &env) |
QT_END_NAMESPACE Q_DECL_EXPORT jint JNICALL | JNI_OnLoad (JavaVM *vm, void *) |
#define FIND_AND_CHECK_CLASS | ( | CLASS_NAME | ) |
Definition at line 738 of file androidjnimain.cpp.
Referenced by registerNatives(), and QtAndroidMenu::registerNatives().
#define GET_AND_CHECK_FIELD | ( | VAR, | |
CLASS, | |||
FIELD_NAME, | |||
FIELD_SIGNATURE ) |
Definition at line 759 of file androidjnimain.cpp.
#define GET_AND_CHECK_METHOD | ( | VAR, | |
CLASS, | |||
METHOD_NAME, | |||
METHOD_SIGNATURE ) |
Definition at line 745 of file androidjnimain.cpp.
Referenced by registerNatives(), and QtAndroidMenu::registerNatives().
#define GET_AND_CHECK_STATIC_FIELD | ( | VAR, | |
CLASS, | |||
FIELD_NAME, | |||
FIELD_SIGNATURE ) |
Definition at line 766 of file androidjnimain.cpp.
Referenced by registerNatives(), and QtAndroidMenu::registerNatives().
#define GET_AND_CHECK_STATIC_METHOD | ( | VAR, | |
CLASS, | |||
METHOD_NAME, | |||
METHOD_SIGNATURE ) |
Definition at line 752 of file androidjnimain.cpp.
Referenced by registerNatives().
typedef int(* Main) (int, char **) |
Definition at line 68 of file androidjnimain.cpp.
|
static |
Definition at line 632 of file androidjnimain.cpp.
References Qt::AutoConnection, Qt::InvertedLandscapeOrientation, Qt::InvertedPortraitOrientation, QMetaObject::invokeMethod(), Qt::LandscapeOrientation, lock, m_androidPlatformIntegration, m_platformMutex, Qt::PortraitOrientation, Q_ARG, screen, and QAndroidPlatformIntegration::setScreenOrientation().
Referenced by registerNatives().
|
static |
Definition at line 671 of file androidjnimain.cpp.
References m_androidPlatformIntegration.
Referenced by registerNatives().
|
static |
Definition at line 678 of file androidjnimain.cpp.
References m_androidPlatformIntegration.
Referenced by registerNatives().
|
static |
Definition at line 685 of file androidjnimain.cpp.
References m_androidPlatformIntegration.
Referenced by registerNatives().
|
static |
Definition at line 692 of file androidjnimain.cpp.
References m_androidPlatformIntegration.
Referenced by registerNatives().
|
static |
Definition at line 699 of file androidjnimain.cpp.
References Qt::Dark, Qt::Light, and QAndroidPlatformIntegration::updateColorScheme().
Referenced by registerNatives().
QT_END_NAMESPACE Q_DECL_EXPORT jint JNICALL JNI_OnLoad | ( | JavaVM * | vm, |
void * | ) |
Definition at line 860 of file androidjnimain.cpp.
References QThread::currentThread(), m_javaVM, AndroidBackendRegister::registerNatives(), registerNatives(), QtAndroidAccessibility::registerNatives(), QtAndroidInput::registerNatives(), QtAndroidMenu::registerNatives(), QtAndroidWindowEmbedding::registerNatives(), QAndroidPlatformClipboard::registerNatives(), QtAndroidDialogHelpers::registerNatives(), QAndroidPlatformWindow::registerNatives(), and QWindowSystemInterfacePrivate::TabletEvent::setPlatformSynthesizesMouse().
|
static |
Definition at line 706 of file androidjnimain.cpp.
References QtAndroidPrivate::handleActivityResult().
|
static |
Definition at line 719 of file androidjnimain.cpp.
References QtAndroidPrivate::callOnBindListener().
|
static |
Definition at line 714 of file androidjnimain.cpp.
References QtAndroidPrivate::handleNewIntent().
Q_DECLARE_JNI_CLASS | ( | QtAccessibilityInterface | , |
"org/qtproject/qt/android/QtAccessibilityInterface" | ) |
|
static |
Definition at line 489 of file androidjnimain.cpp.
References m_androidAssetsFileEngineHandler, m_androidContentFileEngineHandler, m_androidPlatformIntegration, and Q_UNUSED.
|
static |
Definition at line 483 of file androidjnimain.cpp.
References Q_UNUSED, and QCoreApplication::quit().
|
static |
Definition at line 775 of file androidjnimain.cpp.
References FIND_AND_CHECK_CLASS, GET_AND_CHECK_METHOD, GET_AND_CHECK_STATIC_FIELD, GET_AND_CHECK_STATIC_METHOD, handleOrientationChanged(), handleRefreshRateChanged(), handleScreenAdded(), handleScreenChanged(), handleScreenRemoved(), handleUiDarkModeChanged(), m_applicationClass, m_ARGB_8888_BitmapConfigValue, m_assetManager, m_assets, m_bitmapClass, m_bitmapDrawableClass, m_bitmapDrawableConstructorMethodID, m_classLoaderObject, m_createBitmapMethodID, m_loadClassMethodID, m_qtActivityClass, m_qtServiceClass, m_resourcesObj, m_RGB_565_BitmapConfigValue, methods, qCritical, qScopeGuard(), and setDisplayMetrics().
|
static |
Definition at line 539 of file androidjnimain.cpp.
References QRect::height(), QSize::height(), QRect::left(), lock, m_androidPlatformIntegration, m_availableHeightPixels, m_availableWidthPixels, m_density, m_platformMutex, m_scaledDensity, Q_UNUSED, qRound(), QAndroidPlatformIntegration::setDefaultDisplayMetrics(), QRect::top(), QRect::width(), and QSize::width().
Referenced by registerNatives().
|
static |
Definition at line 378 of file androidjnimain.cpp.
References arg, Qt::endl(), QDir::homePath(), m_androidAssetsFileEngineHandler, m_androidContentFileEngineHandler, m_androidPlatformIntegration, m_applicationParams, m_backendRegister, m_exitSemaphore, m_main, m_mainLibraryHnd, m_terminateSemaphore, Q_UNLIKELY, Q_UNUSED, qCritical, qWarning, QDir::setCurrent(), and toString().
|
static |
Definition at line 435 of file androidjnimain.cpp.
References args, i, m_applicationClass, m_applicationParams, m_exitSemaphore, m_main, m_mainLibraryHnd, m_terminateSemaphore, qEnvironmentVariableIsSet(), qInfo, QStringLiteral, qWarning, QResource::registerResource(), ret, and startQtAndroidPluginCalled.
|
static |
Definition at line 499 of file androidjnimain.cpp.
References QAndroidEventDispatcherStopper::instance(), m_androidAssetsFileEngineHandler, m_androidPlatformIntegration, m_applicationClass, m_ARGB_8888_BitmapConfigValue, m_assets, m_backendRegister, m_bitmapClass, m_bitmapDrawableClass, m_classLoaderObject, m_exitSemaphore, m_qtActivityClass, m_qtServiceClass, m_resourcesObj, m_RGB_565_BitmapConfigValue, m_terminateSemaphore, QCoreApplication::quit(), and startQtAndroidPluginCalled.
|
static |
Definition at line 593 of file androidjnimain.cpp.
References Qt::ApplicationActive, Qt::ApplicationInactive, Qt::ApplicationSuspended, QWindowSystemInterface::handleApplicationStateChanged(), QtAndroidPrivate::handlePause(), QtAndroidPrivate::handleResume(), QAndroidEventDispatcherStopper::instance(), lock, m_androidPlatformIntegration, m_main, m_pendingApplicationState, m_platformMutex, and state.
|
static |
Definition at line 573 of file androidjnimain.cpp.
References QWindowSystemInterface::handleExposeEvent(), QRect::height(), QCoreApplication::instance(), m_androidPlatformIntegration, QGuiApplication::topLevelWindows(), and QRect::width().
|
static |
Definition at line 426 of file androidjnimain.cpp.
References QtAndroid::isQtApplication(), Q_UNUSED, QtAndroidPrivate::service(), and QtAndroidPrivate::waitForServiceSetup().
|
static |
Definition at line 82 of file androidjnimain.cpp.
Referenced by quitQtAndroidPlugin(), startQtAndroidPlugin(), and terminateQt().
|
static |
Definition at line 83 of file androidjnimain.cpp.
Referenced by quitQtAndroidPlugin(), and startQtAndroidPlugin().
|
static |
Definition at line 75 of file androidjnimain.cpp.
Referenced by QtAndroid::androidPlatformIntegration(), handleOrientationChanged(), handleRefreshRateChanged(), handleScreenAdded(), handleScreenChanged(), handleScreenRemoved(), quitQtAndroidPlugin(), QtAndroid::setAndroidPlatformIntegration(), setDisplayMetrics(), startQtAndroidPlugin(), terminateQt(), QtAndroid::topLevelWindowAt(), updateApplicationState(), and updateWindow().
|
static |
Definition at line 47 of file androidjnimain.cpp.
Referenced by QtAndroid::applicationClass(), QtAndroid::notifyNativePluginIntegrationReady(), registerNatives(), QtAndroid::setViewVisibility(), startQtApplication(), and terminateQt().
|
static |
Definition at line 71 of file androidjnimain.cpp.
Referenced by startQtAndroidPlugin(), and startQtApplication().
|
static |
Definition at line 62 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmap(), QtAndroid::createBitmap(), registerNatives(), and terminateQt().
|
static |
Definition at line 50 of file androidjnimain.cpp.
Referenced by QtAndroid::assetManager(), and registerNatives().
|
static |
Definition at line 51 of file androidjnimain.cpp.
Referenced by QtAndroid::assets(), registerNatives(), and terminateQt().
|
static |
Definition at line 78 of file androidjnimain.cpp.
Referenced by QtAndroid::availableHeightPixels(), and setDisplayMetrics().
|
static |
Definition at line 77 of file androidjnimain.cpp.
Referenced by QtAndroid::availableWidthPixels(), and setDisplayMetrics().
|
static |
Definition at line 85 of file androidjnimain.cpp.
Referenced by QtAndroid::backendRegister(), QtAndroid::initializeAccessibility(), QtAndroid::notifyAccessibilityLocationChange(), QtAndroid::notifyObjectFocus(), QtAndroid::notifyObjectHide(), QtAndroid::notifyObjectShow(), QtAndroid::notifyScrolledEvent(), QtAndroid::notifyValueChanged(), startQtAndroidPlugin(), and terminateQt().
|
static |
Definition at line 60 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmap(), QtAndroid::createBitmap(), registerNatives(), and terminateQt().
|
static |
Definition at line 65 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmapDrawable(), registerNatives(), and terminateQt().
|
static |
Definition at line 66 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmapDrawable(), and registerNatives().
|
static |
Definition at line 88 of file androidjnimain.cpp.
Referenced by QtAndroid::classErrorMsgFmt().
|
static |
Definition at line 48 of file androidjnimain.cpp.
Referenced by registerNatives(), and terminateQt().
|
static |
Definition at line 61 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmap(), QtAndroid::createBitmap(), and registerNatives().
|
static |
Definition at line 80 of file androidjnimain.cpp.
Referenced by QtAndroid::pixelDensity(), and setDisplayMetrics().
|
static |
Definition at line 72 of file androidjnimain.cpp.
Referenced by startQtAndroidPlugin(), startQtApplication(), and terminateQt().
|
static |
Definition at line 46 of file androidjnimain.cpp.
Referenced by QtAndroid::javaVM(), and JNI_OnLoad().
|
static |
Definition at line 49 of file androidjnimain.cpp.
Referenced by registerNatives().
Definition at line 69 of file androidjnimain.cpp.
Referenced by startQtAndroidPlugin(), startQtApplication(), and updateApplicationState().
Definition at line 70 of file androidjnimain.cpp.
Referenced by startQtAndroidPlugin(), and startQtApplication().
Definition at line 89 of file androidjnimain.cpp.
Referenced by QtAndroid::methodErrorMsgFmt().
|
static |
Definition at line 57 of file androidjnimain.cpp.
Referenced by QtAndroid::setAndroidPlatformIntegration(), and updateApplicationState().
|
static |
Definition at line 58 of file androidjnimain.cpp.
Referenced by handleOrientationChanged(), QtAndroid::platformInterfaceMutex(), setDisplayMetrics(), and updateApplicationState().
|
static |
Definition at line 54 of file androidjnimain.cpp.
Referenced by QtAndroid::isQtApplication(), registerNatives(), and terminateQt().
|
static |
Definition at line 55 of file androidjnimain.cpp.
Referenced by QtAndroid::isQtApplication(), registerNatives(), and terminateQt().
|
static |
Definition at line 87 of file androidjnimain.cpp.
Referenced by QtAndroid::qtTagText().
|
static |
Definition at line 52 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmapDrawable(), registerNatives(), and terminateQt().
|
static |
Definition at line 63 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmap(), QtAndroid::createBitmap(), registerNatives(), and terminateQt().
|
static |
Definition at line 79 of file androidjnimain.cpp.
Referenced by QtAndroid::scaledDensity(), and setDisplayMetrics().
|
static |
Definition at line 72 of file androidjnimain.cpp.
Referenced by startQtAndroidPlugin(), startQtApplication(), and terminateQt().
|
static |
Definition at line 724 of file androidjnimain.cpp.
Referenced by QAndroidInputContext::QAndroidInputContext(), aggregateParameterCount(), buildMetaObject(), QV4::Runtime::CreateClass::call(), QV4::QObjectMethod::callInternal(), QV4::QObjectMethod::callInternalWithMetaTypes(), QQmlJSRegisterContent::create(), QQmlSA::MethodsPrivate::createMethods(), QV4::Heap::DECLARE_EXPORTED_HEAP_OBJECT(), QQmlJSRegisterContent::descriptiveName(), QQmlPropertyPrivate::findSignalByName(), foo(), generateJavaQmlComponents(), QQmlLSUtils::hasMethodOrSignal(), QtAndroidPrivate::initJNI(), QAuthenticatorPrivate::isMethodSupported(), JNI_OnLoad(), QQmlJSTypeResolver::memberType(), QtAndroidPrivate::registerExtrasNatives(), QtAndroidPrivate::registerNativeInterfaceNatives(), AndroidCamera::registerNativeMethods(), AndroidMediaPlayer::registerNativeMethods(), AndroidMediaRecorder::registerNativeMethods(), AndroidSurfaceTexture::registerNativeMethods(), AndroidSurfaceHolder::registerNativeMethods(), QtAndroidInput::registerNatives(), registerNatives(), QtAndroidPrivate::registerPermissionNatives(), QQmlLSUtils::resolveNameInQmlScope(), QQmlJSFunctionInitializer::run(), QQmlJSTypeResolver::scopedType(), QGeoPositionInfoSourcePrivate::setPositioningMethods(), QGeoPositionInfoSource::setPreferredPositioningMethods(), QDeclarativePositionSource::setPreferredPositioningMethods(), QGeoPositionInfoSourceAndroid::setPreferredPositioningMethods(), QGeoPositionInfoSourceGeoclue2::setPreferredPositioningMethods(), QGeoPositionInfoSourceWinRT::setPreferredPositioningMethods(), QBluetoothDeviceDiscoveryAgent::start(), QBluetoothDeviceDiscoveryAgentPrivate::start(), QQmlPropertyCache::toMetaObjectBuilder(), QQmlJSImportVisitor::visit(), wrapInFunction(), and QmlTypeRegistrar::write().
|
static |
Definition at line 91 of file androidjnimain.cpp.
Referenced by startQtApplication(), and terminateQt().