![]() |
Qt 6.x
The Qt SDK
|
#include <dlfcn.h>
#include <pthread.h>
#include <qplugin.h>
#include <semaphore.h>
#include "androidcontentfileengine.h"
#include "androiddeadlockprotector.h"
#include "androidjniaccessibility.h"
#include "androidjniclipboard.h"
#include "androidjniinput.h"
#include "androidjnimain.h"
#include "androidjnimenu.h"
#include "qandroidassetsfileenginehandler.h"
#include "qandroideventdispatcher.h"
#include "qandroidplatformdialoghelpers.h"
#include "qandroidplatformintegration.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/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 | |
QBasicMutex * | QtAndroid::platformInterfaceMutex () |
void | QtAndroid::setAndroidPlatformIntegration (QAndroidPlatformIntegration *androidPlatformIntegration) |
QAndroidPlatformIntegration * | QtAndroid::androidPlatformIntegration () |
QWindow * | QtAndroid::topLevelWindowAt (const QPoint &globalPos) |
int | QtAndroid::availableWidthPixels () |
int | QtAndroid::availableHeightPixels () |
double | QtAndroid::scaledDensity () |
double | QtAndroid::pixelDensity () |
JavaVM * | QtAndroid::javaVM () |
AAssetManager * | QtAndroid::assetManager () |
jclass | QtAndroid::applicationClass () |
QtJniTypes::Activity | QtAndroid::activity () |
QtJniTypes::Service | QtAndroid::service () |
void | QtAndroid::setSystemUiVisibility (SystemUiVisibility uiVisibility) |
void | QtAndroid::notifyAccessibilityLocationChange (uint accessibilityObjectId) |
void | QtAndroid::notifyObjectHide (uint accessibilityObjectId, uint parentObjectId) |
void | QtAndroid::notifyObjectFocus (uint accessibilityObjectId) |
void | QtAndroid::notifyValueChanged (uint accessibilityObjectId, jstring value) |
void | QtAndroid::notifyScrolledEvent (uint accessibilityObjectId) |
void | QtAndroid::notifyQtAndroidPluginRunning (bool running) |
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 () |
jint | QtAndroid::generateViewId () |
int | QtAndroid::createSurface (AndroidSurfaceClient *client, const QRect &geometry, bool onTop, int imageDepth) |
int | QtAndroid::insertNativeView (jobject view, const QRect &geometry) |
void | QtAndroid::setViewVisibility (jobject view, bool visible) |
void | QtAndroid::setSurfaceGeometry (int surfaceId, const QRect &geometry) |
void | QtAndroid::destroySurface (int surfaceId) |
void | QtAndroid::bringChildToFront (int surfaceId) |
void | QtAndroid::bringChildToBack (int surfaceId) |
bool | QtAndroid::blockEventLoopsWhenSuspended () |
jobject | QtAndroid::assets () |
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 | setSurface (JNIEnv *env, jobject, jint id, jobject jSurface, jint w, jint h) |
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 int | registerNatives (JNIEnv *env) |
QT_END_NAMESPACE Q_DECL_EXPORT jint JNICALL | JNI_OnLoad (JavaVM *vm, void *) |
#define FIND_AND_CHECK_CLASS | ( | CLASS_NAME | ) |
Definition at line 822 of file androidjnimain.cpp.
#define GET_AND_CHECK_FIELD | ( | VAR, | |
CLASS, | |||
FIELD_NAME, | |||
FIELD_SIGNATURE | |||
) |
Definition at line 843 of file androidjnimain.cpp.
#define GET_AND_CHECK_METHOD | ( | VAR, | |
CLASS, | |||
METHOD_NAME, | |||
METHOD_SIGNATURE | |||
) |
Definition at line 829 of file androidjnimain.cpp.
#define GET_AND_CHECK_STATIC_FIELD | ( | VAR, | |
CLASS, | |||
FIELD_NAME, | |||
FIELD_SIGNATURE | |||
) |
Definition at line 850 of file androidjnimain.cpp.
#define GET_AND_CHECK_STATIC_METHOD | ( | VAR, | |
CLASS, | |||
METHOD_NAME, | |||
METHOD_SIGNATURE | |||
) |
Definition at line 836 of file androidjnimain.cpp.
typedef int(* Main) (int, char **) |
Definition at line 64 of file androidjnimain.cpp.
|
static |
Definition at line 714 of file androidjnimain.cpp.
References Qt::AutoConnection, Qt::InvertedLandscapeOrientation, Qt::InvertedPortraitOrientation, QMetaObject::invokeMethod(), Qt::LandscapeOrientation, lock, m_androidPlatformIntegration, m_platformMutex, Qt::PortraitOrientation, Q_ARG, QAndroidPlatformIntegration::screen(), screen, and QAndroidPlatformIntegration::setScreenOrientation().
|
static |
Definition at line 752 of file androidjnimain.cpp.
References m_androidPlatformIntegration, and QAndroidPlatformIntegration::setRefreshRate().
|
static |
Definition at line 758 of file androidjnimain.cpp.
References QAndroidPlatformIntegration::handleScreenAdded(), and m_androidPlatformIntegration.
|
static |
Definition at line 764 of file androidjnimain.cpp.
References QAndroidPlatformIntegration::handleScreenChanged(), and m_androidPlatformIntegration.
|
static |
Definition at line 770 of file androidjnimain.cpp.
References QAndroidPlatformIntegration::handleScreenRemoved(), and m_androidPlatformIntegration.
|
static |
Definition at line 776 of file androidjnimain.cpp.
References Qt::Dark, Qt::Light, and QAndroidPlatformIntegration::setColorScheme().
QT_END_NAMESPACE Q_DECL_EXPORT jint JNICALL JNI_OnLoad | ( | JavaVM * | vm, |
void * | |||
) |
Definition at line 921 of file androidjnimain.cpp.
References m_javaVM, registerNatives(), QtAndroidAccessibility::registerNatives(), QtAndroidInput::registerNatives(), QtAndroidMenu::registerNatives(), QtAndroidDialogHelpers::registerNatives(), QObject::setObjectName(), QWindowSystemInterfacePrivate::TabletEvent::setPlatformSynthesizesMouse(), and QObject::thread().
|
static |
Definition at line 782 of file androidjnimain.cpp.
References QtAndroidPrivate::handleActivityResult().
|
static |
Definition at line 795 of file androidjnimain.cpp.
References QtAndroidPrivate::callOnBindListener().
|
static |
Definition at line 790 of file androidjnimain.cpp.
References QtAndroidPrivate::handleNewIntent().
|
static |
Definition at line 558 of file androidjnimain.cpp.
References m_androidAssetsFileEngineHandler, m_androidContentFileEngineHandler, m_androidPlatformIntegration, and Q_UNUSED.
|
static |
Definition at line 552 of file androidjnimain.cpp.
References Q_UNUSED, and QCoreApplication::quit().
|
static |
Definition at line 857 of file androidjnimain.cpp.
References FIND_AND_CHECK_CLASS, GET_AND_CHECK_METHOD, GET_AND_CHECK_STATIC_FIELD, GET_AND_CHECK_STATIC_METHOD, m_activityObject, m_applicationClass, m_ARGB_8888_BitmapConfigValue, m_assetManager, m_assets, m_bitmapClass, m_bitmapDrawableClass, m_bitmapDrawableConstructorMethodID, m_classLoaderObject, m_createBitmapMethodID, m_createSurfaceMethodID, m_destroySurfaceMethodID, m_loadClassMethodID, m_resourcesObj, m_RGB_565_BitmapConfigValue, m_serviceObject, m_setSurfaceGeometryMethodID, and methods.
|
static |
Definition at line 618 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(), QAndroidPlatformIntegration::setRefreshRate(), QAndroidPlatformIntegration::setScreenSizeParameters(), QRect::top(), QRect::width(), and QSize::width().
|
static |
Definition at line 606 of file androidjnimain.cpp.
References it, lock, m_surfaces, and m_surfacesMutex.
|
static |
Definition at line 447 of file androidjnimain.cpp.
References QList< T >::append(), arg, QList< T >::constFirst(), QByteArray::data(), Qt::endl(), QString::fromUtf8(), QDir::homePath(), QList< T >::length(), m_androidAssetsFileEngineHandler, m_androidContentFileEngineHandler, m_androidPlatformIntegration, m_applicationParams, m_exitSemaphore, m_main, m_mainLibraryHnd, m_terminateSemaphore, Q_UNLIKELY, qCritical, qWarning, and QDir::setCurrent().
|
static |
Definition at line 503 of file androidjnimain.cpp.
References args, QVarLengthArray< T, Prealloc >::data(), QBasicAtomicInteger< T >::fetchAndAddRelease(), i, m_applicationClass, m_applicationParams, m_exitSemaphore, m_main, m_mainLibraryHnd, m_terminateSemaphore, qEnvironmentVariableIsSet(), QStringLiteral, qWarning, QResource::registerResource(), ret, QList< T >::size(), and startQtAndroidPluginCalled.
|
static |
Definition at line 568 of file androidjnimain.cpp.
References QAndroidEventDispatcherStopper::goingToStop(), QAndroidEventDispatcherStopper::instance(), QBasicAtomicInteger< T >::loadAcquire(), m_activityObject, m_androidAssetsFileEngineHandler, m_androidPlatformIntegration, m_applicationClass, m_ARGB_8888_BitmapConfigValue, m_assets, m_bitmapClass, m_bitmapDrawableClass, m_classLoaderObject, m_exitSemaphore, m_resourcesObj, m_RGB_565_BitmapConfigValue, m_serviceObject, m_terminateSemaphore, QCoreApplication::quit(), QAndroidEventDispatcherStopper::startAll(), and startQtAndroidPluginCalled.
|
static |
Definition at line 675 of file androidjnimain.cpp.
References Qt::ApplicationActive, Qt::ApplicationInactive, Qt::ApplicationSuspended, QAndroidEventDispatcherStopper::goingToStop(), QWindowSystemInterface::handleApplicationStateChanged(), QtAndroidPrivate::handlePause(), QtAndroidPrivate::handleResume(), QAndroidEventDispatcherStopper::instance(), lock, m_androidPlatformIntegration, m_main, m_pendingApplicationState, m_platformMutex, QAndroidEventDispatcherStopper::startAll(), state, and QAndroidEventDispatcherStopper::stopAll().
|
static |
Definition at line 651 of file androidjnimain.cpp.
References QScreen::geometry, QWindowSystemInterface::handleExposeEvent(), QRect::height(), QCoreApplication::instance(), QMetaObject::invokeMethod(), m_androidPlatformIntegration, Q_ARG, Qt::QueuedConnection, QAndroidPlatformIntegration::screen(), screen, QGuiApplication::topLevelWindows(), and QRect::width().
|
static |
Definition at line 494 of file androidjnimain.cpp.
References m_serviceObject, Q_UNUSED, and QtAndroidPrivate::waitForServiceSetup().
|
static |
Definition at line 47 of file androidjnimain.cpp.
Referenced by QtAndroid::activity(), registerNatives(), and terminateQt().
|
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 41 of file androidjnimain.cpp.
Referenced by QtAndroid::applicationClass(), QtAndroid::bringChildToBack(), QtAndroid::bringChildToFront(), QtAndroid::createSurface(), QtAndroid::destroySurface(), QtAndroid::insertNativeView(), QtAndroid::notifyAccessibilityLocationChange(), QtAndroid::notifyObjectFocus(), QtAndroid::notifyObjectHide(), QtAndroid::notifyQtAndroidPluginRunning(), QtAndroid::notifyScrolledEvent(), QtAndroid::notifyValueChanged(), registerNatives(), QtAndroid::setSurfaceGeometry(), QtAndroid::setSystemUiVisibility(), QtAndroid::setViewVisibility(), startQtApplication(), and terminateQt().
|
static |
Definition at line 67 of file androidjnimain.cpp.
Referenced by startQtAndroidPlugin(), and startQtApplication().
|
static |
Definition at line 58 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmap(), QtAndroid::createBitmap(), registerNatives(), and terminateQt().
|
static |
Definition at line 44 of file androidjnimain.cpp.
Referenced by QtAndroid::assetManager(), and registerNatives().
|
static |
Definition at line 45 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 56 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmap(), QtAndroid::createBitmap(), registerNatives(), and terminateQt().
|
static |
Definition at line 61 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmapDrawable(), registerNatives(), and terminateQt().
|
static |
Definition at line 62 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmapDrawable(), and registerNatives().
|
static |
Definition at line 88 of file androidjnimain.cpp.
|
static |
Definition at line 42 of file androidjnimain.cpp.
Referenced by registerNatives(), and terminateQt().
|
static |
Definition at line 57 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmap(), QtAndroid::createBitmap(), and registerNatives().
|
static |
Definition at line 48 of file androidjnimain.cpp.
Referenced by QtAndroid::createSurface(), and registerNatives().
|
static |
Definition at line 80 of file androidjnimain.cpp.
Referenced by QtAndroid::pixelDensity(), and setDisplayMetrics().
|
static |
Definition at line 51 of file androidjnimain.cpp.
Referenced by QtAndroid::destroySurface(), and registerNatives().
|
static |
Definition at line 68 of file androidjnimain.cpp.
Referenced by startQtAndroidPlugin(), startQtApplication(), and terminateQt().
|
static |
Definition at line 40 of file androidjnimain.cpp.
Referenced by QtAndroid::javaVM(), and JNI_OnLoad().
|
static |
Definition at line 43 of file androidjnimain.cpp.
Referenced by registerNatives().
Definition at line 65 of file androidjnimain.cpp.
Referenced by startQtAndroidPlugin(), startQtApplication(), and updateApplicationState().
Definition at line 66 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 53 of file androidjnimain.cpp.
Referenced by QtAndroid::setAndroidPlatformIntegration(), and updateApplicationState().
|
static |
Definition at line 54 of file androidjnimain.cpp.
Referenced by handleOrientationChanged(), QtAndroid::platformInterfaceMutex(), setDisplayMetrics(), and updateApplicationState().
|
static |
Definition at line 87 of file androidjnimain.cpp.
|
static |
Definition at line 46 of file androidjnimain.cpp.
Referenced by QtAndroid::createBitmapDrawable(), registerNatives(), and terminateQt().
|
static |
Definition at line 59 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 49 of file androidjnimain.cpp.
Referenced by registerNatives(), QtAndroid::service(), terminateQt(), and waitForServiceSetup().
|
static |
Definition at line 50 of file androidjnimain.cpp.
Referenced by registerNatives(), and QtAndroid::setSurfaceGeometry().
QHash<int, AndroidSurfaceClient *> m_surfaces |
Definition at line 70 of file androidjnimain.cpp.
Referenced by org.qtproject.qt.android.QtActivityDelegate::bringChildToBack(), org.qtproject.qt.android.QtActivityDelegate::bringChildToFront(), QtAndroid::createSurface(), org.qtproject.qt.android.QtActivityDelegate::createSurface(), org.qtproject.qt.android.QtActivityDelegate::destroySurface(), QtAndroid::destroySurface(), org.qtproject.qt.android.QtActivityDelegate::getSurfaceCount(), QtAndroid::insertNativeView(), org.qtproject.qt.android.QtActivityDelegate::onCreate(), setSurface(), org.qtproject.qt.android.QtActivityDelegate::setSurfaceGeometry(), and org.qtproject.qt.android.QtActivityDelegate::startApplication().
|
static |
Definition at line 72 of file androidjnimain.cpp.
Referenced by QtAndroid::createSurface(), QtAndroid::destroySurface(), QtAndroid::insertNativeView(), and setSurface().
|
static |
Definition at line 68 of file androidjnimain.cpp.
Referenced by startQtAndroidPlugin(), startQtApplication(), and terminateQt().
|
static |
Definition at line 800 of file androidjnimain.cpp.
Referenced by QAndroidInputContext::QAndroidInputContext(), aggregateParameterCount(), bindingsCompletions(), buildMetaObject(), QV4::Runtime::CreateClass::call(), QV4::QObjectMethod::callInternal(), QQmlJSRegisterContent::create(), QQmlSA::MethodsPrivate::createMethods(), QV4::Heap::DECLARE_HEAP_OBJECT(), QQmlJSRegisterContent::descriptiveName(), QQmlPropertyPrivate::findSignalByName(), foo(), QtAndroidPrivate::initJNI(), QAuthenticatorPrivate::isMethodSupported(), JNI_OnLoad(), QQmlJSTypeResolver::memberType(), reachableSymbols(), QtAndroidPrivate::registerNativeInterfaceNatives(), AndroidCamera::registerNativeMethods(), AndroidMediaPlayer::registerNativeMethods(), AndroidMediaRecorder::registerNativeMethods(), AndroidSurfaceTexture::registerNativeMethods(), AndroidSurfaceHolder::registerNativeMethods(), registerNatives(), QtAndroidPrivate::registerPermissionNatives(), QV4::ResolveOverloaded(), 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().