summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2021-02-10 20:06:09 +0200
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2021-02-20 22:53:05 +0200
commit255459250d450286a8c5c492dab3f6d3652171c9 (patch)
treeeba80911d7e278bdd123a9733c7f75a73d6ac004 /src/plugins/platforms
parent4c6579eacded086ad014b0fd2432095362c1d131 (diff)
Add QAndroidApplication as a nativeInterface
QAndroidApplication provides the Android specific app context() and isActivityContext() to determine whether the context is an Activity or otherwise a Service. Task-number: QTBUG-90499 Change-Id: Iae2eef7ec44859a89825b09f52f09506b20b5420 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/android/androidcontentfileengine.cpp23
-rw-r--r--src/plugins/platforms/android/qandroidplatformservices.cpp6
2 files changed, 17 insertions, 12 deletions
diff --git a/src/plugins/platforms/android/androidcontentfileengine.cpp b/src/plugins/platforms/android/androidcontentfileengine.cpp
index 149bc1139d..9cea454c16 100644
--- a/src/plugins/platforms/android/androidcontentfileengine.cpp
+++ b/src/plugins/platforms/android/androidcontentfileengine.cpp
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2019 Volker Krause <vkrause@kde.org>
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
@@ -39,12 +40,14 @@
#include "androidcontentfileengine.h"
-#include <QtCore/QJniEnvironment>
-#include <QtCore/QJniObject>
-#include <private/qjnihelpers_p.h>
+#include <QtCore/qcoreapplication.h>
+#include <QtCore/qjnienvironment.h>
+#include <QtCore/qjniobject.h>
#include <QDebug>
+using namespace QNativeInterface;
+
AndroidContentFileEngine::AndroidContentFileEngine(const QString &f)
: m_file(f)
{
@@ -69,7 +72,7 @@ bool AndroidContentFileEngine::open(QIODevice::OpenMode openMode)
const auto fd = QJniObject::callStaticMethod<jint>("org/qtproject/qt/android/QtNative",
"openFdForContentUrl",
"(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)I",
- QtAndroidPrivate::context(),
+ QAndroidApplication::context(),
QJniObject::fromString(fileName(DefaultName)).object(),
QJniObject::fromString(openModeStr).object());
@@ -84,7 +87,7 @@ qint64 AndroidContentFileEngine::size() const
{
const jlong size = QJniObject::callStaticMethod<jlong>(
"org/qtproject/qt/android/QtNative", "getSize",
- "(Landroid/content/Context;Ljava/lang/String;)J", QtAndroidPrivate::context(),
+ "(Landroid/content/Context;Ljava/lang/String;)J", QAndroidApplication::context(),
QJniObject::fromString(fileName(DefaultName)).object());
return (qint64)size;
}
@@ -95,12 +98,12 @@ AndroidContentFileEngine::FileFlags AndroidContentFileEngine::fileFlags(FileFlag
FileFlags flags;
const bool isDir = QJniObject::callStaticMethod<jboolean>(
"org/qtproject/qt/android/QtNative", "checkIfDir",
- "(Landroid/content/Context;Ljava/lang/String;)Z", QtAndroidPrivate::context(),
+ "(Landroid/content/Context;Ljava/lang/String;)Z", QAndroidApplication::context(),
QJniObject::fromString(fileName(DefaultName)).object());
// If it is a directory then we know it exists so there is no reason to explicitly check
const bool exists = isDir ? true : QJniObject::callStaticMethod<jboolean>(
"org/qtproject/qt/android/QtNative", "checkFileExists",
- "(Landroid/content/Context;Ljava/lang/String;)Z", QtAndroidPrivate::context(),
+ "(Landroid/content/Context;Ljava/lang/String;)Z", QAndroidApplication::context(),
QJniObject::fromString(fileName(DefaultName)).object());
if (!exists && !isDir)
return flags;
@@ -110,7 +113,7 @@ AndroidContentFileEngine::FileFlags AndroidContentFileEngine::fileFlags(FileFlag
flags = FileType | commonFlags;
const bool writable = QJniObject::callStaticMethod<jboolean>(
"org/qtproject/qt/android/QtNative", "checkIfWritable",
- "(Landroid/content/Context;Ljava/lang/String;)Z", QtAndroidPrivate::context(),
+ "(Landroid/content/Context;Ljava/lang/String;)Z", QAndroidApplication::context(),
QJniObject::fromString(fileName(DefaultName)).object());
if (writable)
flags |= WriteOwnerPerm|WriteUserPerm|WriteGroupPerm|WriteOtherPerm;
@@ -186,13 +189,13 @@ bool AndroidContentFileEngineIterator::hasNext() const
const bool isDir = QJniObject::callStaticMethod<jboolean>(
"org/qtproject/qt/android/QtNative", "checkIfDir",
"(Landroid/content/Context;Ljava/lang/String;)Z",
- QtAndroidPrivate::context(),
+ QAndroidApplication::context(),
QJniObject::fromString(path()).object());
if (isDir) {
QJniObject objArray = QJniObject::callStaticObjectMethod("org/qtproject/qt/android/QtNative",
"listContentsFromTreeUri",
"(Landroid/content/Context;Ljava/lang/String;)[Ljava/lang/String;",
- QtAndroidPrivate::context(),
+ QAndroidApplication::context(),
QJniObject::fromString(path()).object());
if (objArray.isValid()) {
QJniEnvironment env;
diff --git a/src/plugins/platforms/android/qandroidplatformservices.cpp b/src/plugins/platforms/android/qandroidplatformservices.cpp
index b5f829d3d3..36e1aef609 100644
--- a/src/plugins/platforms/android/qandroidplatformservices.cpp
+++ b/src/plugins/platforms/android/qandroidplatformservices.cpp
@@ -1,6 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2012 BogDan Vatra <bogdan@kde.org>
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
@@ -44,7 +45,7 @@
#include <QMimeDatabase>
#include <QUrl>
#include <QtCore/QJniObject>
-#include <private/qjnihelpers_p.h>
+#include <QtCore/qcoreapplication.h>
QT_BEGIN_NAMESPACE
@@ -67,12 +68,13 @@ bool QAndroidPlatformServices::openUrl(const QUrl &theUrl)
mime = mimeDb.mimeTypeForUrl(url).name();
}
+ using namespace QNativeInterface;
QJniObject urlString = QJniObject::fromString(url.toString());
QJniObject mimeString = QJniObject::fromString(mime);
return QJniObject::callStaticMethod<jboolean>(
QtAndroid::applicationClass(), "openURL",
"(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Z",
- QtAndroidPrivate::context(), urlString.object(), mimeString.object());
+ QAndroidApplication::context(), urlString.object(), mimeString.object());
}
bool QAndroidPlatformServices::openDocument(const QUrl &url)