diff options
author | Assam Boudjelthia <[email protected]> | 2021-05-11 12:49:40 +0300 |
---|---|---|
committer | Assam Boudjelthia <[email protected]> | 2021-06-29 14:08:24 +0300 |
commit | ae24e41ad4da78b029fd42ea317e4d2be73b015e (patch) | |
tree | 3f2d8c44dbf5a3eb666a7782bb5c1dfd62481c8e /examples/androidextras/services/common | |
parent | ede82024b08842e9599b9bdbd00b7498601a921f (diff) |
The JNI utilities (i.e. QJniObject, QJniEnvironment) are already under
qtbase as public APIs.
Permission handling is now under QCoreApplication::{check,request}Permission
and QPermission namespace.
Some of the QtAndroid namespace functions are now under QNativeInterface's
QAndroidApplication, this includes:
* sdkVersion()
* hideSplashScreen()
* context() and isActivityContext()
* runOnAndroidMainThread()
The remaining APIs are now moved as private APIs under qtbase
ee05af296f65e240f64db6470cdddafbddbf2fa3. That is until we add
new cross-platform APIs to replace their functionalities like
Intents handling, starting activites and working with Services.
Task-number: QTBUG-83251
Task-number: QTBUG-84382
Pick-to: 6.2
Change-Id: Id077f8cbbe223a987916f737fad6088fb58e470d
Reviewed-by: Ville Voutilainen <[email protected]>
Diffstat (limited to 'examples/androidextras/services/common')
9 files changed, 0 insertions, 373 deletions
diff --git a/examples/androidextras/services/common/common.pri b/examples/androidextras/services/common/common.pri deleted file mode 100644 index 1225f32..0000000 --- a/examples/androidextras/services/common/common.pri +++ /dev/null @@ -1 +0,0 @@ -RESOURCES += $$PWD/qml.qrc diff --git a/examples/androidextras/services/common/common_broadcast.pri b/examples/androidextras/services/common/common_broadcast.pri deleted file mode 100644 index 117f362..0000000 --- a/examples/androidextras/services/common/common_broadcast.pri +++ /dev/null @@ -1,5 +0,0 @@ -INCLUDEPATH += $$PWD - -HEADERS += $$PWD/qtandroidservice.h - -SOURCES += $$PWD/qtandroidservice.cpp diff --git a/examples/androidextras/services/common/common_ro.pri b/examples/androidextras/services/common/common_ro.pri deleted file mode 100644 index eacfc6d..0000000 --- a/examples/androidextras/services/common/common_ro.pri +++ /dev/null @@ -1,3 +0,0 @@ -INCLUDEPATH += $$PWD - -HEADERS += $$PWD/qtandroidservice_ro.h diff --git a/examples/androidextras/services/common/main.qml b/examples/androidextras/services/common/main.qml deleted file mode 100644 index 528212b..0000000 --- a/examples/androidextras/services/common/main.qml +++ /dev/null @@ -1,112 +0,0 @@ - -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtAndroidExtras module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -import QtQuick 2.14 -import QtQuick.Window 2.14 -import QtQuick.Controls 2.14 - -Window { - id: window - visible: true - width: 640 - height: 480 - title: qsTr("Hello World") - - Text { - id: pingLabel - y: 100 - text: qsTr("Enter a name:") - anchors.horizontalCenter: parent.horizontalCenter - horizontalAlignment: Text.AlignHCenter - font.pixelSize: 20 - } - - TextInput { - id: pingText - y: 130 - text: "Qt" - anchors.horizontalCenter: parent.horizontalCenter - horizontalAlignment: Text.AlignHCenter - font.pointSize: 24 - } - - Button { - id: sendButton - y: 220 - text: "Send name to Service" - anchors.horizontalCenter: parent.horizontalCenter - onClicked: qtAndroidService.sendToService(pingText.text) - } - - Text { - id: pongLabel - y: 300 - text: qsTr("Android Service replied:") - anchors.horizontalCenter: parent.horizontalCenter - horizontalAlignment: Text.AlignHCenter - font.pixelSize: 20 - } - - Text { - id: pongText - y: 330 - text: qsTr("") - anchors.horizontalCenter: parent.horizontalCenter - horizontalAlignment: Text.AlignHCenter - font.pixelSize: 24 - } - - Connections { - target: qtAndroidService - function onMessageFromService(message) { - pongText.text = message - } - } -} diff --git a/examples/androidextras/services/common/qml.qrc b/examples/androidextras/services/common/qml.qrc deleted file mode 100644 index 5f6483a..0000000 --- a/examples/androidextras/services/common/qml.qrc +++ /dev/null @@ -1,5 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>main.qml</file> - </qresource> -</RCC> diff --git a/examples/androidextras/services/common/qtandroidservice.cpp b/examples/androidextras/services/common/qtandroidservice.cpp deleted file mode 100644 index 0296892..0000000 --- a/examples/androidextras/services/common/qtandroidservice.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtAndroidExtras module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qtandroidservice.h" - -#include <QAndroidJniEnvironment> -#include <QAndroidIntent> -#include <QtDebug> - -QtAndroidService *QtAndroidService::m_instance = nullptr; - -static void receivedFromAndroidService(JNIEnv *env, jobject /*thiz*/, jstring value) -{ - emit QtAndroidService::instance()->messageFromService( - env->GetStringUTFChars(value, nullptr)); -} - -QtAndroidService::QtAndroidService(QObject *parent) : QObject(parent) -{ - m_instance = this; - - registerNatives(); - registerBroadcastReceiver(); -} - -void QtAndroidService::sendToService(const QString &name) -{ - QAndroidIntent serviceIntent(QtAndroid::androidActivity().object(), - "org/qtproject/example/qtandroidservice/QtAndroidService"); - serviceIntent.putExtra("name", name.toUtf8()); - QAndroidJniObject result = QtAndroid::androidActivity().callObjectMethod( - "startService", - "(Landroid/content/Intent;)Landroid/content/ComponentName;", - serviceIntent.handle().object()); -} - -void QtAndroidService::registerNatives() -{ - JNINativeMethod methods[] { - {"sendToQt", "(Ljava/lang/String;)V", reinterpret_cast<void *>(receivedFromAndroidService)}}; - QAndroidJniObject javaClass("org/qtproject/example/qtandroidservice/ActivityUtils"); - - QAndroidJniEnvironment env; - jclass objectClass = env->GetObjectClass(javaClass.object<jobject>()); - env->RegisterNatives(objectClass, - methods, - sizeof(methods) / sizeof(methods[0])); - env->DeleteLocalRef(objectClass); -} - -void QtAndroidService::registerBroadcastReceiver() -{ - QAndroidJniEnvironment env; - jclass javaClass = env.findClass("org/qtproject/example/qtandroidservice/ActivityUtils"); - QAndroidJniObject classObject(javaClass); - - classObject.callMethod<void>("registerServiceBroadcastReceiver", - "(Landroid/content/Context;)V", - QtAndroid::androidContext().object()); -} diff --git a/examples/androidextras/services/common/qtandroidservice.h b/examples/androidextras/services/common/qtandroidservice.h deleted file mode 100644 index bee1fd3..0000000 --- a/examples/androidextras/services/common/qtandroidservice.h +++ /dev/null @@ -1,78 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtAndroidExtras module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QTANDROIDSERVICE_H -#define QTANDROIDSERVICE_H - -#include <QObject> -#include <QtAndroid> -#include <QAndroidIntent> - -class QtAndroidService : public QObject -{ - Q_OBJECT - -public: - QtAndroidService(QObject *parent = nullptr); - - static QtAndroidService *instance() { return m_instance; } - Q_INVOKABLE void sendToService(const QString &name); - -signals: - void messageFromService(const QString &message); - -private: - void registerNatives(); - void registerBroadcastReceiver(); - - static QtAndroidService *m_instance; -}; - -#endif // QTANDROIDSERVICE_H diff --git a/examples/androidextras/services/common/qtandroidservice.rep b/examples/androidextras/services/common/qtandroidservice.rep deleted file mode 100644 index 6b9d676..0000000 --- a/examples/androidextras/services/common/qtandroidservice.rep +++ /dev/null @@ -1,4 +0,0 @@ -class QtAndroidService { - SLOT(void sendToService(const QString &name)); - SIGNAL(messageFromService(const QString &message)); -} diff --git a/examples/androidextras/services/common/qtandroidservice_ro.h b/examples/androidextras/services/common/qtandroidservice_ro.h deleted file mode 100644 index 8e53fb1..0000000 --- a/examples/androidextras/services/common/qtandroidservice_ro.h +++ /dev/null @@ -1,58 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtAndroidExtras module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include "rep_qtandroidservice_source.h" - -class QtAndroidService : public QtAndroidServiceSource -{ -public slots: - void sendToService(const QString &name) override { - emit messageFromService("Hello " + name); - }; -}; |