diff options
| author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2024-06-13 09:16:31 +0200 |
|---|---|---|
| committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2024-06-15 19:30:51 +0000 |
| commit | d6e0971a050b22f5417fa9ce0b45aad4286e8de8 (patch) | |
| tree | 57657aa2aeb6f6d742acfa750cd0140cce5310b5 /src/quick/platform/android/qandroidquickviewembedding.cpp | |
| parent | 3e63b5248e3f3631c9667e3147a63d7114e3dd4b (diff) | |
Android QuickView embedding: use QJniArray to pass string list
QJniArray<jstring> has "[Ljava/lang/String;" as the signature type, and
is implicitly creatable from the Java String[] parameter we get from
JNI. We can then get the QStringList using QJniArray::toContainer().
This removes the last usage of Q_DECLARE_JNI_TYPE in this repo.
Pick-to: 6.8
Change-Id: I766e3eccc7fd7c9551f7c8303d99dbe44e6a8e06
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'src/quick/platform/android/qandroidquickviewembedding.cpp')
| -rw-r--r-- | src/quick/platform/android/qandroidquickviewembedding.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/quick/platform/android/qandroidquickviewembedding.cpp b/src/quick/platform/android/qandroidquickviewembedding.cpp index e7932d80ae..262dd9179c 100644 --- a/src/quick/platform/android/qandroidquickviewembedding.cpp +++ b/src/quick/platform/android/qandroidquickviewembedding.cpp @@ -29,20 +29,13 @@ namespace QtAndroidQuickViewEmbedding void createQuickView(JNIEnv *, jobject nativeWindow, jstring qmlUri, jint width, jint height, jlong parentWindowReference, jlong viewReference, - QtJniTypes::StringArray qmlImportPaths) + const QJniArray<jstring> &qmlImportPaths) { static_assert (sizeof(jlong) >= sizeof(void*), "Insufficient size of Java type to hold the c++ pointer"); const QUrl qmlUrl(QJniObject(qmlUri).toString()); - QStringList importPaths; - if (qmlImportPaths.isValid()) { - QJniArray<QtJniTypes::String> importPathsArray(qmlImportPaths); - importPaths.reserve(importPathsArray.size()); - for (int i = 0; i < importPathsArray.size(); ++i) - importPaths << importPathsArray.at(i).toString(); - } - + const QStringList importPaths = qmlImportPaths.toContainer(); QMetaObject::invokeMethod(qApp, [qtViewObject = QJniObject(nativeWindow), parentWindowReference, viewReference, |
