diff options
author | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-01-14 12:38:04 +0200 |
---|---|---|
committer | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-01-27 17:23:04 +0200 |
commit | 4e60681c879a54cf5b34862a30e27c492ed36363 (patch) | |
tree | 01c7d46ae34a6596fa235eea915846b66e7e8670 /src/corelib/io/qstandardpaths_android.cpp | |
parent | 407ce5c0afd905b38a7d82980a76ed834fc971eb (diff) |
Make QJniObject and QJniEnvironment public API
As part of Qt 6 restructring for the extras modules, this change exposes
the Jni APIs which are very important for Android platform. This patch
adds the APIs QJniObject, QJniEnvironment, QJniExceptionCleaner based
from private QtCore and QtAndroidExtras.
The Jni interface is cross-platform which justifies the name, but
currently, this API is used mainly for Android, and the naming comes
generic without Android keyword to avoid any future limitation on
supporting other platforms.
[ChangeLog][QtCore] Add new QJniObject, QJniEnvironment and
QJniExceptionCleaner APIs.
Task-number: QTBUG-89482
Fixes: QTBUG-89633
Change-Id: I4382dd53a225375759b9d042f6035a4a9810572b
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Diffstat (limited to 'src/corelib/io/qstandardpaths_android.cpp')
-rw-r--r-- | src/corelib/io/qstandardpaths_android.cpp | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/src/corelib/io/qstandardpaths_android.cpp b/src/corelib/io/qstandardpaths_android.cpp index 3aa310e168..46f96e4037 100644 --- a/src/corelib/io/qstandardpaths_android.cpp +++ b/src/corelib/io/qstandardpaths_android.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -41,7 +41,7 @@ #ifndef QT_NO_STANDARDPATHS -#include <QtCore/private/qjni_p.h> +#include <QJniObject> #include <QtCore/private/qjnihelpers_p.h> #include <QtCore/qmap.h> #include <QDir> @@ -57,13 +57,13 @@ static QString testDir() : QLatin1String(""); } -static QJNIObjectPrivate applicationContext() +static QJniObject applicationContext() { - static QJNIObjectPrivate appCtx; + static QJniObject appCtx; if (appCtx.isValid()) return appCtx; - QJNIObjectPrivate context(QtAndroidPrivate::activity()); + QJniObject context(QtAndroidPrivate::activity()); if (!context.isValid()) { context = QtAndroidPrivate::service(); if (!context.isValid()) @@ -75,10 +75,10 @@ static QJNIObjectPrivate applicationContext() return appCtx; } -static inline QString getAbsolutePath(const QJNIObjectPrivate &file) +static inline QString getAbsolutePath(const QJniObject &file) { - QJNIObjectPrivate path = file.callObjectMethod("getAbsolutePath", - "()Ljava/lang/String;"); + QJniObject path = file.callObjectMethod("getAbsolutePath", + "()Ljava/lang/String;"); if (!path.isValid()) return QString(); @@ -95,22 +95,22 @@ static QString getExternalFilesDir(const char *directoryField = nullptr) if (!path.isEmpty()) return path; - QJNIObjectPrivate appCtx = applicationContext(); + QJniObject appCtx = applicationContext(); if (!appCtx.isValid()) return QString(); - QJNIObjectPrivate dirField = QJNIObjectPrivate::fromString(QLatin1String("")); + QJniObject dirField = QJniObject::fromString(QLatin1String("")); if (directoryField && strlen(directoryField) > 0) { - dirField = QJNIObjectPrivate::getStaticObjectField("android/os/Environment", - directoryField, - "Ljava/lang/String;"); + dirField = QJniObject::getStaticObjectField("android/os/Environment", + directoryField, + "Ljava/lang/String;"); if (!dirField.isValid()) return QString(); } - QJNIObjectPrivate file = appCtx.callObjectMethod("getExternalFilesDir", - "(Ljava/lang/String;)Ljava/io/File;", - dirField.object()); + QJniObject file = appCtx.callObjectMethod("getExternalFilesDir", + "(Ljava/lang/String;)Ljava/io/File;", + dirField.object()); if (!file.isValid()) return QString(); @@ -128,12 +128,12 @@ static QString getExternalCacheDir() if (!path.isEmpty()) return path; - QJNIObjectPrivate appCtx = applicationContext(); + QJniObject appCtx = applicationContext(); if (!appCtx.isValid()) return QString(); - QJNIObjectPrivate file = appCtx.callObjectMethod("getExternalCacheDir", - "()Ljava/io/File;"); + QJniObject file = appCtx.callObjectMethod("getExternalCacheDir", + "()Ljava/io/File;"); if (!file.isValid()) return QString(); @@ -150,12 +150,12 @@ static QString getCacheDir() if (!path.isEmpty()) return path; - QJNIObjectPrivate appCtx = applicationContext(); + QJniObject appCtx = applicationContext(); if (!appCtx.isValid()) return QString(); - QJNIObjectPrivate file = appCtx.callObjectMethod("getCacheDir", - "()Ljava/io/File;"); + QJniObject file = appCtx.callObjectMethod("getCacheDir", + "()Ljava/io/File;"); if (!file.isValid()) return QString(); @@ -172,12 +172,12 @@ static QString getFilesDir() if (!path.isEmpty()) return path; - QJNIObjectPrivate appCtx = applicationContext(); + QJniObject appCtx = applicationContext(); if (!appCtx.isValid()) return QString(); - QJNIObjectPrivate file = appCtx.callObjectMethod("getFilesDir", - "()Ljava/io/File;"); + QJniObject file = appCtx.callObjectMethod("getFilesDir", + "()Ljava/io/File;"); if (!file.isValid()) return QString(); |