aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorAssam Boudjelthia <[email protected]>2021-05-11 12:49:40 +0300
committerAssam Boudjelthia <[email protected]>2021-06-29 14:08:24 +0300
commitae24e41ad4da78b029fd42ea317e4d2be73b015e (patch)
tree3f2d8c44dbf5a3eb666a7782bb5c1dfd62481c8e /examples
parentede82024b08842e9599b9bdbd00b7498601a921f (diff)
Remove QtAndroidExtras module and add note about its state in Qt 6HEADdev
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')
-rw-r--r--examples/CMakeLists.txt9
-rw-r--r--examples/androidextras/androidextras.pro19
-rw-r--r--examples/androidextras/customactivity/activityhandler.cpp88
-rw-r--r--examples/androidextras/customactivity/activityhandler.h73
-rw-r--r--examples/androidextras/customactivity/android/AndroidManifest.xml92
-rw-r--r--examples/androidextras/customactivity/android/res/layout/second_activity.xml26
-rw-r--r--examples/androidextras/customactivity/android/res/values/strings.xml6
-rw-r--r--examples/androidextras/customactivity/android/src/org/qtproject/example/activityhandler/CustomActivity.java78
-rw-r--r--examples/androidextras/customactivity/customactivity.pro27
-rw-r--r--examples/androidextras/customactivity/doc/src/qtandroidextras-example-customactivity.qdoc134
-rw-r--r--examples/androidextras/customactivity/main.cpp74
-rw-r--r--examples/androidextras/customactivity/main.qml84
-rw-r--r--examples/androidextras/customactivity/qml.qrc5
-rw-r--r--examples/androidextras/jnimessenger/android/AndroidManifest.xml87
-rw-r--r--examples/androidextras/jnimessenger/android/res/drawable-hdpi/icon.pngbin3654 -> 0 bytes
-rw-r--r--examples/androidextras/jnimessenger/android/res/drawable-ldpi/icon.pngbin1432 -> 0 bytes
-rw-r--r--examples/androidextras/jnimessenger/android/res/drawable-mdpi/icon.pngbin1998 -> 0 bytes
-rw-r--r--examples/androidextras/jnimessenger/android/res/drawable-xhdpi/icon.pngbin4549 -> 0 bytes
-rw-r--r--examples/androidextras/jnimessenger/android/res/drawable-xxhdpi/icon.pngbin9275 -> 0 bytes
-rw-r--r--examples/androidextras/jnimessenger/android/res/drawable-xxxhdpi/icon.pngbin12866 -> 0 bytes
-rw-r--r--examples/androidextras/jnimessenger/android/src/org/qtproject/example/jnimessenger/JniMessenger.java64
-rw-r--r--examples/androidextras/jnimessenger/doc/src/qtandroidextras-example-jnimessenger.qdoc145
-rw-r--r--examples/androidextras/jnimessenger/jnimessenger.cpp86
-rw-r--r--examples/androidextras/jnimessenger/jnimessenger.h74
-rw-r--r--examples/androidextras/jnimessenger/jnimessenger.pro21
-rw-r--r--examples/androidextras/jnimessenger/main.cpp76
-rw-r--r--examples/androidextras/jnimessenger/main.qml103
-rw-r--r--examples/androidextras/jnimessenger/qml.qrc5
-rw-r--r--examples/androidextras/musiclist/android/AndroidManifest.xml84
-rw-r--r--examples/androidextras/musiclist/android/src/org/qtproject/example/musiclist/MusicList.java113
-rw-r--r--examples/androidextras/musiclist/doc/src/qtandroidextras-example-musiclist.qdoc128
-rw-r--r--examples/androidextras/musiclist/main.cpp93
-rw-r--r--examples/androidextras/musiclist/main.qml122
-rw-r--r--examples/androidextras/musiclist/musiclist.cpp75
-rw-r--r--examples/androidextras/musiclist/musiclist.h88
-rw-r--r--examples/androidextras/musiclist/musiclist.pro23
-rw-r--r--examples/androidextras/musiclist/qml.qrc5
-rw-r--r--examples/androidextras/notification/android/AndroidManifest.xml87
-rw-r--r--examples/androidextras/notification/android/res/drawable-hdpi/icon.pngbin3654 -> 0 bytes
-rw-r--r--examples/androidextras/notification/android/res/drawable-ldpi/icon.pngbin1432 -> 0 bytes
-rw-r--r--examples/androidextras/notification/android/res/drawable-mdpi/icon.pngbin1998 -> 0 bytes
-rw-r--r--examples/androidextras/notification/android/res/drawable-xhdpi/icon.pngbin4549 -> 0 bytes
-rw-r--r--examples/androidextras/notification/android/res/drawable-xxhdpi/icon.pngbin9275 -> 0 bytes
-rw-r--r--examples/androidextras/notification/android/res/drawable-xxxhdpi/icon.pngbin12866 -> 0 bytes
-rw-r--r--examples/androidextras/notification/android/src/org/qtproject/example/notification/NotificationClient.java95
-rw-r--r--examples/androidextras/notification/doc/src/qtandroidextras-example-notification.qdoc106
-rw-r--r--examples/androidextras/notification/images/happy.pngbin1767 -> 0 bytes
-rw-r--r--examples/androidextras/notification/images/sad.pngbin1262 -> 0 bytes
-rw-r--r--examples/androidextras/notification/main.cpp70
-rw-r--r--examples/androidextras/notification/main.qrc7
-rw-r--r--examples/androidextras/notification/notification.pro19
-rw-r--r--examples/androidextras/notification/notificationclient.cpp84
-rw-r--r--examples/androidextras/notification/notificationclient.h76
-rw-r--r--examples/androidextras/notification/qml/main.qml115
-rw-r--r--examples/androidextras/services/common/common.pri1
-rw-r--r--examples/androidextras/services/common/common_broadcast.pri5
-rw-r--r--examples/androidextras/services/common/common_ro.pri3
-rw-r--r--examples/androidextras/services/common/main.qml112
-rw-r--r--examples/androidextras/services/common/qml.qrc5
-rw-r--r--examples/androidextras/services/common/qtandroidservice.cpp107
-rw-r--r--examples/androidextras/services/common/qtandroidservice.h78
-rw-r--r--examples/androidextras/services/common/qtandroidservice.rep4
-rw-r--r--examples/androidextras/services/common/qtandroidservice_ro.h58
-rw-r--r--examples/androidextras/services/servicebinder/android/AndroidManifest.xml106
-rw-r--r--examples/androidextras/services/servicebinder/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java73
-rw-r--r--examples/androidextras/services/servicebinder/androidbinder.cpp88
-rw-r--r--examples/androidextras/services/servicebinder/androidbinder.h61
-rw-r--r--examples/androidextras/services/servicebinder/doc/src/qtandroidextras-example-service-binder.qdoc182
-rw-r--r--examples/androidextras/services/servicebinder/main.cpp69
-rw-r--r--examples/androidextras/services/servicebinder/qtandroidservice.cpp100
-rw-r--r--examples/androidextras/services/servicebinder/qtandroidservice.h83
-rw-r--r--examples/androidextras/services/servicebinder/service.pro13
-rw-r--r--examples/androidextras/services/servicebinder/service_main.cpp65
-rw-r--r--examples/androidextras/services/servicebinder/servicebinder.pro5
-rw-r--r--examples/androidextras/services/servicebinder/servicebinderclient.pro25
-rw-r--r--examples/androidextras/services/servicebroadcast/android/AndroidManifest.xml106
-rw-r--r--examples/androidextras/services/servicebroadcast/android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java86
-rw-r--r--examples/androidextras/services/servicebroadcast/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java94
-rw-r--r--examples/androidextras/services/servicebroadcast/doc/src/qtandroidextras-example-service-broadcastreceiver.qdoc152
-rw-r--r--examples/androidextras/services/servicebroadcast/main.cpp82
-rw-r--r--examples/androidextras/services/servicebroadcast/service.pro10
-rw-r--r--examples/androidextras/services/servicebroadcast/service_main.cpp60
-rw-r--r--examples/androidextras/services/servicebroadcast/servicebroadcast.pro5
-rw-r--r--examples/androidextras/services/servicebroadcast/servicebroadcastclient.pro21
-rw-r--r--examples/androidextras/services/servicebroadcastsamelib/android/AndroidManifest.xml110
-rw-r--r--examples/androidextras/services/servicebroadcastsamelib/android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java86
-rw-r--r--examples/androidextras/services/servicebroadcastsamelib/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java95
-rw-r--r--examples/androidextras/services/servicebroadcastsamelib/doc/src/qtandroidextras-example-service-broadcastreceiver-samelib.qdoc153
-rw-r--r--examples/androidextras/services/servicebroadcastsamelib/main.cpp90
-rw-r--r--examples/androidextras/services/servicebroadcastsamelib/servicebroadcastsamelib.pro21
-rw-r--r--examples/androidextras/services/serviceremoteobjects/android/AndroidManifest.xml106
-rw-r--r--examples/androidextras/services/serviceremoteobjects/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java72
-rw-r--r--examples/androidextras/services/serviceremoteobjects/doc/src/qtandroidextras-example-service-remoteobjects.qdoc183
-rw-r--r--examples/androidextras/services/serviceremoteobjects/main.cpp91
-rw-r--r--examples/androidextras/services/serviceremoteobjects/service.pro13
-rw-r--r--examples/androidextras/services/serviceremoteobjects/service_main.cpp65
-rw-r--r--examples/androidextras/services/serviceremoteobjects/serviceremoteobjects.pro5
-rw-r--r--examples/androidextras/services/serviceremoteobjects/serviceremoteobjectsclient.pro21
-rw-r--r--examples/androidextras/services/serviceremoteobjectssamelib/android/AndroidManifest.xml110
-rw-r--r--examples/androidextras/services/serviceremoteobjectssamelib/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java72
-rw-r--r--examples/androidextras/services/serviceremoteobjectssamelib/doc/src/qtandroidextras-example-service-remoteobjects-samelib.qdoc189
-rw-r--r--examples/androidextras/services/serviceremoteobjectssamelib/main.cpp106
-rw-r--r--examples/androidextras/services/serviceremoteobjectssamelib/serviceremoteobjectssamelib.pro23
-rw-r--r--examples/androidextras/services/services.pro13
-rw-r--r--examples/androidextras/services/servicesameprocess/android/AndroidManifest.xml89
-rw-r--r--examples/androidextras/services/servicesameprocess/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java92
-rw-r--r--examples/androidextras/services/servicesameprocess/doc/src/qtandroidextras-example-service-same-process.qdoc116
-rw-r--r--examples/androidextras/services/servicesameprocess/main.cpp77
-rw-r--r--examples/androidextras/services/servicesameprocess/qtandroidservice.cpp88
-rw-r--r--examples/androidextras/services/servicesameprocess/qtandroidservice.h75
-rw-r--r--examples/androidextras/services/servicesameprocess/servicesameprocess.pro24
-rw-r--r--examples/examples.pro2
112 files changed, 0 insertions, 6812 deletions
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
deleted file mode 100644
index b6c43ae..0000000
--- a/examples/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-# Generated from examples.pro.
-
-qt_examples_build_begin()
-
-if(ANDROID)
- add_subdirectory(androidextras)
-endif()
-
-qt_examples_build_end()
diff --git a/examples/androidextras/androidextras.pro b/examples/androidextras/androidextras.pro
deleted file mode 100644
index 169797a..0000000
--- a/examples/androidextras/androidextras.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-TEMPLATE = subdirs
-
-android {
- qtHaveModule(quick) {
- SUBDIRS += \
- notification \
- jnimessenger \
- services \
- customactivity \
- musiclist
-
- EXAMPLE_FILES += \
- notification \
- jnimessenger \
- services \
- customactivity \
- musiclist
- }
-}
diff --git a/examples/androidextras/customactivity/activityhandler.cpp b/examples/androidextras/customactivity/activityhandler.cpp
deleted file mode 100644
index 2d7b172..0000000
--- a/examples/androidextras/customactivity/activityhandler.cpp
+++ /dev/null
@@ -1,88 +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 "activityhandler.h"
-
-#include <QAndroidIntent>
-
-const int REQUEST_CODE = 123;
-const jint RESULT_OK = QAndroidJniObject::getStaticField<jint>("android/app/Activity", "RESULT_OK");
-ActivityHandler *ActivityHandler::m_instance = nullptr;
-
-ActivityHandler::ActivityHandler(QObject *parent) : QObject(parent)
-{
- m_instance = this;
-}
-
-void ActivityHandler::showSecondActivity()
-{
- QAndroidIntent activityIntent(QtAndroid::androidActivity().object(),
- "org/qtproject/example/activityhandler/CustomActivity");
-
- QtAndroid::startActivity(
- activityIntent.handle(), REQUEST_CODE,
- [this](int requestCode, int resultCode, const QAndroidJniObject &data) {
- activityReceiver(requestCode, resultCode, data);
- });
-}
-
-void ActivityHandler::activityReceiver(int requestCode, int resultCode, const QAndroidJniObject &data)
-{
- if (requestCode == REQUEST_CODE) {
- if (resultCode == RESULT_OK) {
- const QAndroidJniObject key = QAndroidJniObject::fromString("message");
- const QAndroidJniObject message = data.callObjectMethod(
- "getStringExtra", "(Ljava/lang/String;)Ljava/lang/String;", key.object());
- if (message.isValid())
- emit ActivityHandler::instance()->receiveFromActivityResult(message.toString());
- } else {
- emit ActivityHandler::instance()->receiveFromActivityResult("Rejected!");
- }
- }
-}
diff --git a/examples/androidextras/customactivity/activityhandler.h b/examples/androidextras/customactivity/activityhandler.h
deleted file mode 100644
index 3dba71e..0000000
--- a/examples/androidextras/customactivity/activityhandler.h
+++ /dev/null
@@ -1,73 +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 MULTIACTIVITY_H
-#define MULTIACTIVITY_H
-
-#include <QtAndroid>
-
-class ActivityHandler : public QObject
-{
- Q_OBJECT
-
-public:
- ActivityHandler(QObject *parent = nullptr);
- static ActivityHandler *instance() { return m_instance; }
-
- Q_INVOKABLE void showSecondActivity();
- void activityReceiver(int requestCode, int resultCode, const QAndroidJniObject &data);
-
-signals:
- void receiveFromActivityResult(const QString &message);
-
-private:
- static ActivityHandler *m_instance;
-};
-
-#endif // MULTIACTIVITY_H
diff --git a/examples/androidextras/customactivity/android/AndroidManifest.xml b/examples/androidextras/customactivity/android/AndroidManifest.xml
deleted file mode 100644
index 88e910d..0000000
--- a/examples/androidextras/customactivity/android/AndroidManifest.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.activityhandler" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
- then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
- use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
- are done populating your window with content. -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="minimal"/>
- <!-- extract android style -->
- </activity>
-
- <activity android:process=":custom_activity" android:name=".CustomActivity" android:label="-- %%INSERT_APP_NAME%% --">
- <!-- android:process=":qt" is needed to force the service to run on a separate process than the Activity -->
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- </activity>
-
- <!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
-
- </application>
-
-</manifest>
diff --git a/examples/androidextras/customactivity/android/res/layout/second_activity.xml b/examples/androidextras/customactivity/android/res/layout/second_activity.xml
deleted file mode 100644
index 0c07790..0000000
--- a/examples/androidextras/customactivity/android/res/layout/second_activity.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/relativeLayout"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:padding="20dp">
-
- <TextView
- android:id="@+id/blackboard_text"
- android:layout_width="match_parent"
- android:layout_height="350dp"
- android:layout_gravity="center"
- android:gravity="center"
- android:singleLine="false"
- android:text="@string/hello_second_activity"
- android:textAlignment="center"
- android:textSize="60sp" />
-
- <Button
- android:id="@+id/backButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/go_back"
- android:layout_gravity="center_vertical|center_horizontal" />
-</LinearLayout>
diff --git a/examples/androidextras/customactivity/android/res/values/strings.xml b/examples/androidextras/customactivity/android/res/values/strings.xml
deleted file mode 100644
index 0b65e8f..0000000
--- a/examples/androidextras/customactivity/android/res/values/strings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <string name="app_name">Qt Android Multi-Activity</string>
- <string name="hello_second_activity">Hello Second Activity</string>
- <string name="go_back">Go back</string>
-</resources>
diff --git a/examples/androidextras/customactivity/android/src/org/qtproject/example/activityhandler/CustomActivity.java b/examples/androidextras/customactivity/android/src/org/qtproject/example/activityhandler/CustomActivity.java
deleted file mode 100644
index b2502e9..0000000
--- a/examples/androidextras/customactivity/android/src/org/qtproject/example/activityhandler/CustomActivity.java
+++ /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$
-**
-****************************************************************************/
-
-package org.qtproject.example.activityhandler;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-import android.widget.Button;
-
- public class CustomActivity extends Activity {
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.second_activity);
-
- Button backButton = (Button) findViewById(R.id.backButton);
- backButton.setOnClickListener(new View.OnClickListener() {
-
- @Override
- public void onClick(View view) {
- Intent resultIntent = new Intent();
- resultIntent.putExtra("message", "Back button clicked.");
- setResult(Activity.RESULT_OK, resultIntent);
- finish();
- }
- });
- }
-}
diff --git a/examples/androidextras/customactivity/customactivity.pro b/examples/androidextras/customactivity/customactivity.pro
deleted file mode 100644
index 5c5b1e8..0000000
--- a/examples/androidextras/customactivity/customactivity.pro
+++ /dev/null
@@ -1,27 +0,0 @@
-QT += quick androidextras
-
-DEFINES += QT_DEPRECATED_WARNINGS
-
-CONFIG += c++11
-
-HEADERS += \
- activityhandler.h
-
-SOURCES += \
- activityhandler.cpp \
- main.cpp
-
-RESOURCES += qml.qrc
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/customactivity
-INSTALLS += target
-
-android {
- DISTFILES += \
- android/AndroidManifest.xml \
- android/src/org/qtproject/example/activityhandler/CustomActivity.java \
- android/res/layout/second_activity.xml \
- android/res/values/strings.xml
-
- ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-}
diff --git a/examples/androidextras/customactivity/doc/src/qtandroidextras-example-customactivity.qdoc b/examples/androidextras/customactivity/doc/src/qtandroidextras-example-customactivity.qdoc
deleted file mode 100644
index ad075e6..0000000
--- a/examples/androidextras/customactivity/doc/src/qtandroidextras-example-customactivity.qdoc
+++ /dev/null
@@ -1,134 +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$
-**
-****************************************************************************/
-
-/*!
- \title Android Custom Activity
- \ingroup examples-qtandroidextras
- \example customactivity
- \brief Demonstrates working with custom Android activities.
-
- \image customactivity.png
-
- This example demonstrates how to create an Android Activity and run it from
- your Qt application. The activity is composed of a Java class and an Android
- XML layout which is started from the main app. The activity can send back data
- after finishing which can be used in QML.
-
- When you click the \uicontrol{"Start custom Android activity"} button, the
- activity is started, and the activity has a text view and a button to exit.
- The activity can either use the button or the back gesture to go back.
-
- \include examples-run.qdocinc
-
- \section1 Create Activity Class
-
- Define an Android class called \c CustomActivity in the CustomActivity.java
- file as follows:
-
- \quotefromfile customactivity/android/src/org/qtproject/example/activityhandler/CustomActivity.java
- \skipto package
- \printuntil /^\}/
-
- The Activity's layout is defined at \e {customactivity/android/res/layout/second_activity.xml}.
-
- To use this Activity, it must be defined in the \e AndroidManifest.xml file
- as follows:
-
- \quotefromfile customactivity/android/AndroidManifest.xml
- \skipto :custom_activity
- \printuntil </activity>
-
- \note To use any native JNI calls, you must extend \c QtActivity instead of
- \c Activity.
-
- \section1 Start the Activity
-
- To start an Activity from Qt, you need to create an intent using \l{QAndroidIntent},
- then call \l{QtAndroid::startActivity} providing the intent, a custom request
- code, and a callback function. The latter is called after the activity has
- finished. You can start the activity as follows:
-
- \quotefromfile customactivity/activityhandler.cpp
- \skipto showSecondActivity
- \printuntil });
- \printline }
-
- Then, define the callback function that is called directly after the activity
- is done:
-
- \quotefromfile customactivity/activityhandler.cpp
- \skipto ActivityHandler::activityReceiver
- \printuntil }
-
- \note You can first check that the \c requestCode and \c resultCode are correct.
-
- To connect C++ with QML, add an instance of the C++ class that is handling
- the JNI logic as a QML property in the \e main.cpp file:
-
- \quotefromfile customactivity/main.cpp
- \skipto ActivityHandler
- \printuntil setContextProperty
-
- Then, add a \l Connections element to watch for messages from C++ in the
- \e main.qml file:
-
- \quotefromfile customactivity/main.qml
- \skipto Connections
- \printuntil /^\ {4}\}/
-
- And set the \c onClicked for the \uicontrol{"Start custom Android activity"}
- button to:
-
- \quotefromfile services/common/main.qml
- \skipto onClicked
- \printline onClicked
-
- \sa {Qt for Android}, {Qt Android Extras}
-*/
diff --git a/examples/androidextras/customactivity/main.cpp b/examples/androidextras/customactivity/main.cpp
deleted file mode 100644
index 4c1ab3d..0000000
--- a/examples/androidextras/customactivity/main.cpp
+++ /dev/null
@@ -1,74 +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 "activityhandler.h"
-
-#include <QGuiApplication>
-#include <QQmlApplicationEngine>
-#include <QQmlContext>
-
-int main(int argc, char *argv[])
-{
- QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
- QQmlApplicationEngine engine;
- const QUrl url(http://code.qt.io/QStringLiteral(%22qrc:/main.qml"));
-
- ActivityHandler *activityHandler = new ActivityHandler(&app);
- engine.rootContext()->setContextProperty(QLatin1String("activityHandler"), activityHandler);
-
- QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
- &app, [url](QObject *obj, const QUrl &objUrl) {
- if (!obj && url == objUrl)
- QCoreApplication::exit(-1);
- }, Qt::QueuedConnection);
- engine.load(url);
-
- return app.exec();
-}
diff --git a/examples/androidextras/customactivity/main.qml b/examples/androidextras/customactivity/main.qml
deleted file mode 100644
index 75f8ff3..0000000
--- a/examples/androidextras/customactivity/main.qml
+++ /dev/null
@@ -1,84 +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("Qt Activity handler")
-
- property string status: "Return status: "
- Text {
- id: resultText
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- font.pointSize: 20
- text: status + "not started"
- }
-
- Button {
- text: "Start custom Android activity"
- anchors.verticalCenterOffset: 100
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- onClicked: activityHandler.showSecondActivity()
- }
-
- Connections {
- target: activityHandler
- function onReceiveFromActivityResult(message) {
- resultText.text = status + message
- }
- }
-}
diff --git a/examples/androidextras/customactivity/qml.qrc b/examples/androidextras/customactivity/qml.qrc
deleted file mode 100644
index 5f6483a..0000000
--- a/examples/androidextras/customactivity/qml.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>main.qml</file>
- </qresource>
-</RCC>
diff --git a/examples/androidextras/jnimessenger/android/AndroidManifest.xml b/examples/androidextras/jnimessenger/android/AndroidManifest.xml
deleted file mode 100644
index 75b5369..0000000
--- a/examples/androidextras/jnimessenger/android/AndroidManifest.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.jnimessenger" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0" android:versionCode="1" android:installLocation="auto">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="Qt JNI Messenger" android:extractNativeLibs="true" android:icon="@drawable/icon">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
- then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
- use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
- are done populating your window with content. -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="default"/>
- <!-- extract android style -->
- </activity>
-
- <!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
-
- </application>
-
-</manifest>
diff --git a/examples/androidextras/jnimessenger/android/res/drawable-hdpi/icon.png b/examples/androidextras/jnimessenger/android/res/drawable-hdpi/icon.png
deleted file mode 100644
index d3ccebe..0000000
--- a/examples/androidextras/jnimessenger/android/res/drawable-hdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/jnimessenger/android/res/drawable-ldpi/icon.png b/examples/androidextras/jnimessenger/android/res/drawable-ldpi/icon.png
deleted file mode 100644
index 2194be1..0000000
--- a/examples/androidextras/jnimessenger/android/res/drawable-ldpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/jnimessenger/android/res/drawable-mdpi/icon.png b/examples/androidextras/jnimessenger/android/res/drawable-mdpi/icon.png
deleted file mode 100644
index 31812cc..0000000
--- a/examples/androidextras/jnimessenger/android/res/drawable-mdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/jnimessenger/android/res/drawable-xhdpi/icon.png b/examples/androidextras/jnimessenger/android/res/drawable-xhdpi/icon.png
deleted file mode 100644
index 3aeae64..0000000
--- a/examples/androidextras/jnimessenger/android/res/drawable-xhdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/jnimessenger/android/res/drawable-xxhdpi/icon.png b/examples/androidextras/jnimessenger/android/res/drawable-xxhdpi/icon.png
deleted file mode 100644
index f754fd1..0000000
--- a/examples/androidextras/jnimessenger/android/res/drawable-xxhdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/jnimessenger/android/res/drawable-xxxhdpi/icon.png b/examples/androidextras/jnimessenger/android/res/drawable-xxxhdpi/icon.png
deleted file mode 100644
index d0d043b..0000000
--- a/examples/androidextras/jnimessenger/android/res/drawable-xxxhdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/jnimessenger/android/src/org/qtproject/example/jnimessenger/JniMessenger.java b/examples/androidextras/jnimessenger/android/src/org/qtproject/example/jnimessenger/JniMessenger.java
deleted file mode 100644
index e3b7408..0000000
--- a/examples/androidextras/jnimessenger/android/src/org/qtproject/example/jnimessenger/JniMessenger.java
+++ /dev/null
@@ -1,64 +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$
-**
-****************************************************************************/
-
-package org.qtproject.example.jnimessenger;
-
-public class JniMessenger
-{
- private static native void callFromJava(String message);
-
- public JniMessenger() {}
-
- public static void printFromJava(String message)
- {
- System.out.println("This is printed from JAVA, message is: " + message);
- callFromJava("Hello from JAVA!");
- }
-}
diff --git a/examples/androidextras/jnimessenger/doc/src/qtandroidextras-example-jnimessenger.qdoc b/examples/androidextras/jnimessenger/doc/src/qtandroidextras-example-jnimessenger.qdoc
deleted file mode 100644
index 6b5838b..0000000
--- a/examples/androidextras/jnimessenger/doc/src/qtandroidextras-example-jnimessenger.qdoc
+++ /dev/null
@@ -1,145 +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$
-**
-****************************************************************************/
-
-/*!
- \title Qt JNI Messenger
- \ingroup examples-qtandroidextras
- \example jnimessenger
- \brief Demonstrates communication between Java code and QML or C++ using NJI calls.
-
- \image jnimessenger.png
-
- This example demonstrates how to add a custom Java class to an Android application, and
- how to both call it from C++ and call C++ functions from Java using the JNI convenience
- APIs in the Qt Android Extras module. The application UI is created by using Qt Quick.
-
- When clicking the send button, a message will be sent from QML to Java class though
- the C++ class and a log of that is shown in the screen view. Logs also can be seen
- from the Android logcat of the messages being exchanged, which would be similar to:
-
- \badcode
- I System.out: This is printed from JAVA, message is: QML sending to Java: Hello from QML
- D libjnimessenger_armeabi-v7a.so: qml: QML received a message: Hello from JAVA!
- \endcode
-
- \include examples-run.qdocinc
-
- \section1 Calling Java Methods from C++ Code
-
- We define a custom Java class called \c JniMessenger in the JniMessenger.java file:
-
- \quotefromfile jnimessenger/android/src/org/qtproject/example/jnimessenger/JniMessenger.java
- \skipto org.qtproject.example.jnimessenger
- \printuntil /^\}/
-
- \note The custom Java class can extend other classes like QtActivity, Activity or any
- other Java class.
-
- In the jnimessenger.cpp file, we call the function \c printFromJava(String message)
- by first creating a \c QAndroidJniObject for the Java String that we want to send
- and then invoking a JNI call with \c callStaticMethod<>() while providing the method
- signature:
-
- \quotefromfile jnimessenger/jnimessenger.cpp
- \skipto void JniMessenger::printFromJava
- \printuntil }
-
- That call will then execute the following from Java side, which would print the
- message to the \c System.output.
-
- \quotefromfile jnimessenger/android/src/org/qtproject/example/jnimessenger/JniMessenger.java
- \skipto public static void printFromJava
- \printuntil );
-
- \section1 Calling QML/C++ Functions from Java Code
-
- Directly after that, our native function \c callFromJava(String message) will be
- called, which would be then handled from C++ side. Note, that this method has
- to be defined as \c native at the top of the Java class as:
-
- \code
- private static native void callFromJava(String message);
- \endcode
-
- To be able to call C++ functions from Java, in our C++ class JniMessenger.cpp,
- we need to define those functions using \c RegisterNatives() as follows:
-
- \quotefromfile jnimessenger/jnimessenger.cpp
- \skipto JNINativeMethod
- \printuntil }
-
- (See \l{Java Native Methods} for more details).
-
- We would need to register the functions' signatures in \c methods[], which have
- the name in Java class, then its parameters and return types, then the function
- pointer in the C++ code.
-
- \code
- JNINativeMethod methods[] {{"callFromJava", "(Ljava/lang/String;)V", reinterpret_cast<void *>(callFromJava)}};
- \endcode
-
- This would insure that our C++ function is available from within the Java call.
- Now, that function could simply print the message it received from Java to
- the debug log, but we want to forward the received message to the QML components
- so that it gets displayed in our text view, so we get:
-
- \quotefromfile jnimessenger/jnimessenger.cpp
- \skipto static void callFromJava
- \printuntil }
-
- Now, we need to implement the necessary \c Connections in the QML code to receive
- the message from C++, which we would print into the \c Text view with the id \c messengerLog:
-
- \quotefromfile jnimessenger/main.qml
- \skipto Connections
- \printuntil /^\ {4}\}/
-
- \sa {Qt for Android}, {Qt Android Extras}
-*/
diff --git a/examples/androidextras/jnimessenger/jnimessenger.cpp b/examples/androidextras/jnimessenger/jnimessenger.cpp
deleted file mode 100644
index 3c309ba..0000000
--- a/examples/androidextras/jnimessenger/jnimessenger.cpp
+++ /dev/null
@@ -1,86 +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 "jnimessenger.h"
-
-#include <QAndroidJniObject>
-#include <QAndroidJniEnvironment>
-#include <QtAndroid>
-
-JniMessenger *JniMessenger::m_instance = nullptr;
-
-static void callFromJava(JNIEnv *env, jobject /*thiz*/, jstring value)
-{
- emit JniMessenger::instance()->messageFromJava(env->GetStringUTFChars(value, nullptr));
-}
-
-JniMessenger::JniMessenger(QObject *parent) : QObject(parent)
-{
- m_instance = this;
-
- JNINativeMethod methods[] {{"callFromJava", "(Ljava/lang/String;)V", reinterpret_cast<void *>(callFromJava)}};
- QAndroidJniObject javaClass("org/qtproject/example/jnimessenger/JniMessenger");
-
- QAndroidJniEnvironment env;
- jclass objectClass = env->GetObjectClass(javaClass.object<jobject>());
- env->RegisterNatives(objectClass,
- methods,
- sizeof(methods) / sizeof(methods[0]));
- env->DeleteLocalRef(objectClass);
-}
-
-void JniMessenger::printFromJava(const QString &message)
-{
- QAndroidJniObject javaMessage = QAndroidJniObject::fromString(message);
- QAndroidJniObject::callStaticMethod<void>("org/qtproject/example/jnimessenger/JniMessenger",
- "printFromJava",
- "(Ljava/lang/String;)V",
- javaMessage.object<jstring>());
-}
diff --git a/examples/androidextras/jnimessenger/jnimessenger.h b/examples/androidextras/jnimessenger/jnimessenger.h
deleted file mode 100644
index 441e476..0000000
--- a/examples/androidextras/jnimessenger/jnimessenger.h
+++ /dev/null
@@ -1,74 +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 MYCLASS_H
-#define MYCLASS_H
-
-#include <QObject>
-
-class JniMessenger : public QObject
-{
- Q_OBJECT
-
-public:
- explicit JniMessenger(QObject *parent = nullptr);
- static JniMessenger *instance() { return m_instance; }
- Q_INVOKABLE void printFromJava(const QString &message);
-
-signals:
- void messageFromJava(const QString &message);
-
-public slots:
-
-private:
- static JniMessenger *m_instance;
-};
-
-#endif // MYCLASS_H
diff --git a/examples/androidextras/jnimessenger/jnimessenger.pro b/examples/androidextras/jnimessenger/jnimessenger.pro
deleted file mode 100644
index b1a6326..0000000
--- a/examples/androidextras/jnimessenger/jnimessenger.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-QT += quick androidextras
-
-DEFINES += QT_DEPRECATED_WARNINGS
-
-SOURCES += \
- jnimessenger.cpp \
- main.cpp
-
-HEADERS += \
- jnimessenger.h
-
-RESOURCES += qml.qrc
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-DISTFILES += \
- android/src/org/qtproject/example/jnimessenger/JniMessenger.java \
- android/AndroidManifest.xml
-
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/jnimessenger
-INSTALLS += target
diff --git a/examples/androidextras/jnimessenger/main.cpp b/examples/androidextras/jnimessenger/main.cpp
deleted file mode 100644
index 45e914a..0000000
--- a/examples/androidextras/jnimessenger/main.cpp
+++ /dev/null
@@ -1,76 +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 "jnimessenger.h"
-
-#include <QGuiApplication>
-#include <QQmlApplicationEngine>
-#include <QQmlContext>
-
-int main(int argc, char *argv[])
-{
- QGuiApplication app(argc, argv);
-
- QQmlApplicationEngine engine;
- const QUrl url(http://code.qt.io/QStringLiteral(%22qrc:/main.qml"));
-
- JniMessenger *jniMessenger = new JniMessenger(&app);
-
- engine.rootContext()->setContextProperty(QLatin1String("JniMessenger"), jniMessenger);
-
- QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
- &app, [url](QObject *obj, const QUrl &objUrl) {
- if (!obj && url == objUrl)
- QCoreApplication::exit(-1);
- }, Qt::QueuedConnection);
- engine.load(url);
-
- return app.exec();
-}
diff --git a/examples/androidextras/jnimessenger/main.qml b/examples/androidextras/jnimessenger/main.qml
deleted file mode 100644
index 57c90ec..0000000
--- a/examples/androidextras/jnimessenger/main.qml
+++ /dev/null
@@ -1,103 +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.13
-import QtQuick.Window 2.13
-import QtQuick.Controls 2.13
-import QtQuick.Layouts 1.13
-
-ApplicationWindow {
- id: window
- visible: true
-
- ColumnLayout {
- anchors.fill: parent
- Text {
- id: messengerLog
- text: qsTr("")
- clip: true
- Layout.fillHeight: true
- Layout.fillWidth: true
- transformOrigin: Item.Center
- Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
- }
-
- RowLayout {
- id: rowlayout
- Layout.bottomMargin: 10
- Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom
- anchors.bottom: window.bottom
- spacing: 10
-
- Button {
- text: qsTr("Send to Java via JNI")
- onClicked: {
- var message = qsTr("QML sending to Java: Hello from QML")
- messengerLog.text += "\n" + message
- JniMessenger.printFromJava(message)
- }
- }
-
- Button {
- text: "Clear"
- onClicked: messengerLog.text = ""
- }
- }
- }
-
- Connections {
- target: JniMessenger
- function onMessageFromJava(message) {
- var output = qsTr("QML received a message: %1").arg(message)
- print(output)
- messengerLog.text += "\n" + output
- }
- }
-}
diff --git a/examples/androidextras/jnimessenger/qml.qrc b/examples/androidextras/jnimessenger/qml.qrc
deleted file mode 100644
index 5f6483a..0000000
--- a/examples/androidextras/jnimessenger/qml.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>main.qml</file>
- </qresource>
-</RCC>
diff --git a/examples/androidextras/musiclist/android/AndroidManifest.xml b/examples/androidextras/musiclist/android/AndroidManifest.xml
deleted file mode 100644
index eea974e..0000000
--- a/examples/androidextras/musiclist/android/AndroidManifest.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.musiclist" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
- then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
- use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
- are done populating your window with content. -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="minimal"/>
- <!-- extract android style -->
- </activity>
- </application>
-
-</manifest>
diff --git a/examples/androidextras/musiclist/android/src/org/qtproject/example/musiclist/MusicList.java b/examples/androidextras/musiclist/android/src/org/qtproject/example/musiclist/MusicList.java
deleted file mode 100644
index d4dc840..0000000
--- a/examples/androidextras/musiclist/android/src/org/qtproject/example/musiclist/MusicList.java
+++ /dev/null
@@ -1,113 +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$
-**
-****************************************************************************/
-
-package org.qtproject.example.musiclist;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.database.Cursor;
-import android.net.Uri;
-import android.provider.MediaStore;
-import java.util.ArrayList;
-
-public class MusicList {
-
- static ArrayList<MusicTrack> fetchMusicList(Context context) {
- ArrayList<MusicTrack> musicList = new ArrayList<MusicTrack>();
- Cursor songCursor;
-
- try {
- ContentResolver contentResolver = context.getContentResolver();
- Uri songUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
- songCursor = contentResolver.query(songUri, null, null, null, null);
- } catch (SecurityException e) {
- e.printStackTrace();
- return musicList;
- }
-
- if (songCursor != null && songCursor.moveToFirst())
- {
- int title = songCursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE);
- int artist = songCursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST);
- int duration = duration = songCursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION);
-
- do {
- String currentTitle = songCursor.getString(title);
- String currentArtist = songCursor.getString(artist);
- long currentDuration = songCursor.getLong(duration);
- musicList.add(new MusicTrack(currentTitle, currentArtist, currentDuration));
- } while (songCursor.moveToNext());
- }
-
- if (songCursor != null)
- songCursor.close();
-
- return musicList;
- }
-}
-
-class MusicTrack {
-
- private String title;
- private String artist;
- private long duration;
-
- MusicTrack (String title, String artist, long duration) {
- this.title = title;
- this.artist = artist;
- this.duration = duration;
- }
-
- public String getTitle() { return title; }
-
- public String getArtist() { return artist; }
-
- public long getDuration() { return duration; }
-}
diff --git a/examples/androidextras/musiclist/doc/src/qtandroidextras-example-musiclist.qdoc b/examples/androidextras/musiclist/doc/src/qtandroidextras-example-musiclist.qdoc
deleted file mode 100644
index 39efb6a..0000000
--- a/examples/androidextras/musiclist/doc/src/qtandroidextras-example-musiclist.qdoc
+++ /dev/null
@@ -1,128 +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$
-**
-****************************************************************************/
-
-/*!
-\title Qt JNI Music List
- \ingroup examples-qtandroidextras
- \example musiclist
- \brief Demonstrates how to exchange data from complex Java objects.
-
- \image musiclist.png
-
- This example demonstrates how to move around data from a Java ArrayList of
- objects over to Qt. The example uses Android APIs to retrieve a list of music
- tracks, and displays some information about them with QML.
-
- When the application starts, it displays a list of music tracks, showing the
- track name, artist, and duration.
-
- \include examples-run.qdocinc
-
- \section1 Create the Music Classes
-
- Let's create a Java class, \c MusicTrack, that defines some of the basic
- information about a track. In the Java side, create the following:
-
- \quotefromfile musiclist/android/src/org/qtproject/example/musiclist/MusicList.java
- \skipto class MusicTrack
- \printuntil /^\}/
-
- Create another class with the same variables or information on the C++ side.
- The definition for \c MusicTrack class is the following:
-
- \quotefromfile musiclist/musiclist.h
- \skipto class MusicTrack
- \printuntil };
-
- \note The \c MusicTrack class must be a \l{QObject}-derived class to be used
- with as a QML context property. For more information, see
- \l{Overview - QML and C++ Integration}{QML and C++ Integration}.
-
- \section1 Fetch the Music List
-
- To retrieve the music list, the Android APIs are used. Add the following method
- to find music tracks that are available on the system. This method returns
- an ArrayList of \c MusicTrack.
-
- \quotefromfile musiclist/android/src/org/qtproject/example/musiclist/MusicList.java
- \skipto package
- \printuntil /^\ {4}\}/
- \printline }
-
- Using the JNI helpers provided with Qt, call the previous method to
- first get an \l{QAndroidJniObject} containing an ArrayList of objects. In the
- C++ code, you need to go through the Java ArrayList and create a parallel list
- on C++. Add the following lines to do that:
-
- \quotefromfile musiclist/musiclist.cpp
- \skipto QAndroidJniObject
- \printuntil /^\ {4}\}/
-
- Then, add a function to return the resulted \l{QList}:
-
- \quotefromfile musiclist/musiclist.cpp
- \skipto MusicList::assembledMusicList
- \printuntil }
-
- To display the music list, create a \l{ListView} that uses the \l{QList}
- as a property. Register the property as follows:
-
- \quotefromfile musiclist/main.cpp
- \skipto MusicList
- \printuntil assembledMusicList
-
- In the QML code, define the model of the \l{ListView} as follows:
-
- \quotefromfile musiclist/main.qml
- \skipto model
- \printline model
-
- \sa {Qt for Android}, {Qt Android Extras}
-*/
diff --git a/examples/androidextras/musiclist/main.cpp b/examples/androidextras/musiclist/main.cpp
deleted file mode 100644
index 0c76cc2..0000000
--- a/examples/androidextras/musiclist/main.cpp
+++ /dev/null
@@ -1,93 +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 "musiclist.h"
-
-#include <QtAndroid>
-
-#include <QGuiApplication>
-#include <QQmlApplicationEngine>
-#include <QQmlContext>
-
-bool requestStoragePermission() {
- using namespace QtAndroid;
-
- QString permission = QStringLiteral("android.permission.WRITE_EXTERNAL_STORAGE");
- const QHash<QString, PermissionResult> results = requestPermissionsSync(QStringList({permission}));
- if (!results.contains(permission) || results[permission] == PermissionResult::Denied) {
- qWarning() << "Couldn't get permission: " << permission;
- return false;
- }
-
- return true;
-}
-
-int main(int argc, char *argv[])
-{
- QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
- QQmlApplicationEngine engine;
- const QUrl url(http://code.qt.io/QStringLiteral(%22qrc:/main.qml"));
-
- if (!requestStoragePermission())
- qDebug() << "Storage permissions denied. This example might not work as intended";
-
- MusicList *musicList = new MusicList(&app);
- engine.rootContext()->setContextProperty(QLatin1String("musiclist"),
- QVariant::fromValue(musicList->assembledMusicList()));
-
- QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
- &app, [url](QObject *obj, const QUrl &objUrl) {
- if (!obj && url == objUrl)
- QCoreApplication::exit(-1);
- }, Qt::QueuedConnection);
- engine.load(url);
-
- return app.exec();
-}
diff --git a/examples/androidextras/musiclist/main.qml b/examples/androidextras/musiclist/main.qml
deleted file mode 100644
index 6a04bef..0000000
--- a/examples/androidextras/musiclist/main.qml
+++ /dev/null
@@ -1,122 +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("Qt Android Music List")
-
- Text {
- id: resultText
- height: 40
- text: "Music library list:"
- anchors.right: parent.right
- anchors.rightMargin: 10
- anchors.left: parent.left
- anchors.leftMargin: 10
- anchors.top: parent.top
- anchors.topMargin: 10
- font.pointSize: 20
- verticalAlignment: Text.AlignTop
- }
-
- ToolSeparator {
- id: toolSeparator
- width: parent.width
- anchors.bottom: listView.top
- anchors.bottomMargin: 10
- anchors.top: resultText.bottom
- anchors.topMargin: 6
- anchors.horizontalCenter: parent.horizontalCenter
- orientation: Qt.Horizontal
- }
-
- ListView {
- id: listView
- width: parent.width
- clip: true
- flickableDirection: Flickable.HorizontalAndVerticalFlick
- anchors.bottomMargin: 10
- anchors.right: parent.right
- anchors.rightMargin: 10
- anchors.left: parent.left
- anchors.leftMargin: 10
- anchors.top: resultText.bottom
- anchors.topMargin: 30
- anchors.bottom: parent.bottom
-
- model: musiclist
- delegate: Rectangle {
- height: 25
- width: ListView.view.width
- color: index % 2 == 0 ? "#EDEDED" : "#FFFFFF"
-
- function toTimeFormat(sec_num) {
- sec_num = Math.floor(sec_num / 1000);
- var hours = Math.floor(sec_num / 3600);
- var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
- var seconds = sec_num - (hours * 3600) - (minutes * 60);
-
- if (hours < 10) { hours = "0" + hours; }
- if (minutes < 10) { minutes = "0" + minutes; }
- if (seconds < 10) { seconds = "0" + seconds; }
-
- return hours+':'+minutes+':'+seconds;
- }
-
- Text { text: model.modelData.title + " | " + model.modelData.artist + " | " + toTimeFormat(model.modelData.duration) }
- }
- }
-}
diff --git a/examples/androidextras/musiclist/musiclist.cpp b/examples/androidextras/musiclist/musiclist.cpp
deleted file mode 100644
index 97d5cdb..0000000
--- a/examples/androidextras/musiclist/musiclist.cpp
+++ /dev/null
@@ -1,75 +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 "musiclist.h"
-
-#include <QAndroidIntent>
-#include <QAndroidJniEnvironment>
-
-MusicList::MusicList(QObject *parent) : QObject(parent)
-{
- QAndroidJniObject musicList = QAndroidJniObject::callStaticObjectMethod(
- "org/qtproject/example/musiclist/MusicList",
- "fetchMusicList",
- "(Landroid/content/Context;)Ljava/util/ArrayList;",
- QtAndroid::androidContext().object());
-
- for (int i = 0; i < musicList.callMethod<jint>("size"); ++i) {
- QAndroidJniObject track = musicList.callObjectMethod("get", "(I)Ljava/lang/Object;", i);
- const QString title = track.callObjectMethod("getTitle", "()Ljava/lang/String;").toString();
- const QString artist = track.callObjectMethod("getArtist", "()Ljava/lang/String;").toString();
- const long duration = track.callMethod<jlong>("getDuration");
- m_assembledMusicList.append(new MusicTrack(title, artist, duration, this));
- }
-}
-
-QList<MusicTrack *> MusicList::assembledMusicList() const
-{
- return m_assembledMusicList;
-}
diff --git a/examples/androidextras/musiclist/musiclist.h b/examples/androidextras/musiclist/musiclist.h
deleted file mode 100644
index 14d487f..0000000
--- a/examples/androidextras/musiclist/musiclist.h
+++ /dev/null
@@ -1,88 +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 MUSICLIST_H
-#define MUSICLIST_H
-
-#include <QtAndroid>
-
-class MusicTrack : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString title READ title CONSTANT)
- Q_PROPERTY(QString artist READ artist CONSTANT)
- Q_PROPERTY(long duration READ duration CONSTANT)
-
-public:
- MusicTrack(const QString title, const QString artist, const long duration, QObject *parent = nullptr)
- : QObject(parent), m_title(title), m_artist(artist), m_duration(duration) {}
-
- QString title() const { return m_title; }
- QString artist() const { return m_artist; }
- long duration() const { return m_duration; }
-
-private:
- QString m_title;
- QString m_artist;
- long m_duration;
-};
-
-class MusicList : public QObject
-{
- Q_OBJECT
-
-public:
- MusicList(QObject *parent = nullptr);
- QList<MusicTrack *> assembledMusicList() const;
-
-private:
- QList<MusicTrack *> m_assembledMusicList;
-};
-
-#endif
diff --git a/examples/androidextras/musiclist/musiclist.pro b/examples/androidextras/musiclist/musiclist.pro
deleted file mode 100644
index 0d20de8..0000000
--- a/examples/androidextras/musiclist/musiclist.pro
+++ /dev/null
@@ -1,23 +0,0 @@
-QT += quick androidextras
-
-CONFIG += c++11
-
-DEFINES += QT_DEPRECATED_WARNINGS
-
-HEADERS += \
- musiclist.h
-
-SOURCES += \
- main.cpp \
- musiclist.cpp
-
-RESOURCES += qml.qrc
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/musiclist
-INSTALLS += target
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-
-DISTFILES += \
- android/AndroidManifest.xml \
- android/src/org/qtproject/example/musiclist/MusicList.java
diff --git a/examples/androidextras/musiclist/qml.qrc b/examples/androidextras/musiclist/qml.qrc
deleted file mode 100644
index 5f6483a..0000000
--- a/examples/androidextras/musiclist/qml.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>main.qml</file>
- </qresource>
-</RCC>
diff --git a/examples/androidextras/notification/android/AndroidManifest.xml b/examples/androidextras/notification/android/AndroidManifest.xml
deleted file mode 100644
index d3b87bd..0000000
--- a/examples/androidextras/notification/android/AndroidManifest.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.notification" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0" android:versionCode="1" android:installLocation="auto">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="Qt Notifier" android:extractNativeLibs="true" android:icon="@drawable/icon">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
- then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
- use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
- are done populating your window with content. -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="default"/>
- <!-- extract android style -->
- </activity>
-
- <!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
-
- </application>
-
-</manifest>
diff --git a/examples/androidextras/notification/android/res/drawable-hdpi/icon.png b/examples/androidextras/notification/android/res/drawable-hdpi/icon.png
deleted file mode 100644
index d3ccebe..0000000
--- a/examples/androidextras/notification/android/res/drawable-hdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/notification/android/res/drawable-ldpi/icon.png b/examples/androidextras/notification/android/res/drawable-ldpi/icon.png
deleted file mode 100644
index 2194be1..0000000
--- a/examples/androidextras/notification/android/res/drawable-ldpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/notification/android/res/drawable-mdpi/icon.png b/examples/androidextras/notification/android/res/drawable-mdpi/icon.png
deleted file mode 100644
index 31812cc..0000000
--- a/examples/androidextras/notification/android/res/drawable-mdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/notification/android/res/drawable-xhdpi/icon.png b/examples/androidextras/notification/android/res/drawable-xhdpi/icon.png
deleted file mode 100644
index 3aeae64..0000000
--- a/examples/androidextras/notification/android/res/drawable-xhdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/notification/android/res/drawable-xxhdpi/icon.png b/examples/androidextras/notification/android/res/drawable-xxhdpi/icon.png
deleted file mode 100644
index f754fd1..0000000
--- a/examples/androidextras/notification/android/res/drawable-xxhdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/notification/android/res/drawable-xxxhdpi/icon.png b/examples/androidextras/notification/android/res/drawable-xxxhdpi/icon.png
deleted file mode 100644
index d0d043b..0000000
--- a/examples/androidextras/notification/android/res/drawable-xxxhdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/notification/android/src/org/qtproject/example/notification/NotificationClient.java b/examples/androidextras/notification/android/src/org/qtproject/example/notification/NotificationClient.java
deleted file mode 100644
index 16789d1..0000000
--- a/examples/androidextras/notification/android/src/org/qtproject/example/notification/NotificationClient.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 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$
-**
-****************************************************************************/
-
-package org.qtproject.example.notification;
-
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.Intent;
-import android.app.PendingIntent;
-import android.graphics.Color;
-import android.graphics.BitmapFactory;
-import android.app.NotificationChannel;
-
-public class NotificationClient
-{
- private static NotificationManager m_notificationManager;
- private static Notification.Builder m_builder;
-
- public NotificationClient() {}
-
- public static void notify(Context context, String message) {
- try {
- m_notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
-
- if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
- int importance = NotificationManager.IMPORTANCE_DEFAULT;
- NotificationChannel notificationChannel = new NotificationChannel("Qt", "Qt Notifier", importance);
- m_notificationManager.createNotificationChannel(notificationChannel);
- m_builder = new Notification.Builder(context, notificationChannel.getId());
- } else {
- m_builder = new Notification.Builder(context);
- }
-
- m_builder.setSmallIcon(R.drawable.icon)
- .setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.drawable.icon))
- .setContentTitle("A message from Qt!")
- .setContentText(message)
- .setDefaults(Notification.DEFAULT_SOUND)
- .setColor(Color.GREEN)
- .setAutoCancel(true);
-
- m_notificationManager.notify(0, m_builder.build());
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/examples/androidextras/notification/doc/src/qtandroidextras-example-notification.qdoc b/examples/androidextras/notification/doc/src/qtandroidextras-example-notification.qdoc
deleted file mode 100644
index a042af5..0000000
--- a/examples/androidextras/notification/doc/src/qtandroidextras-example-notification.qdoc
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** 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.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \title Qt Notifier
- \ingroup examples-qtandroidextras
- \example notification
- \brief Demonstrates calling Java code from an Android application.
-
- \image notification.png
-
- This example demonstrates how to add a custom Java class to an Android application, and
- how to call into this using the JNI convenience APIs in the Qt Android Extras module.
- The application UI is created by using Qt Quick.
-
- Click on either of the smiley faces to put a notification in the status area of the Android
- device.
-
- \include examples-run.qdocinc
-
- \section1 Calling Java Methods from C++ Code
-
- We define a custom Java class called \c NotificationClient in the
- NotificationClient.java file:
-
- \quotefromfile notification/android/src/org/qtproject/example/notification/NotificationClient.java
- \skipto org.qtproject.example.notification
- \printuntil /^\}/
-
- In the NotificationClient C++ class header file, notificationclient.h, we
- declare a simple C++ API to display notifications on an Android device. It
- consists of a single string property, \c notification, and a slot,
- \c updateAndroidNotification(), that calls the Java code:
-
- \quotefromfile notification/notificationclient.h
- \skipto Q_PROPERTY
- \printuntil )
- \dots
- \skipto private slots
- \printuntil updateAndroidNotification()
-
- A NotificationClient object is exposed to the QML in the main source file,
- main.cpp:
-
- \quotefromfile notification/main.cpp
- \skipto QQuickView view;
- \printuntil notificationClient);
-
- In the NotificationClient C++ class source file, notificationclient.cpp, we
- import the QtAndroid class:
-
- \quotefromfile notification/notificationclient.cpp
- \skipto <QtAndroid
- \printuntil >
-
- This will allow us to use \c QAndroidJniObject for JNI calls, and also allow
- us to pass our application's context to the Java methods as in:
-
- \code
- QtAndroid::androidContext().object()
- \endcode
-
- We connect the \c notificationChanged() signal to the
- \c updateAndroidNotification() slot to update the notification text when the
- \c notification property changes:
-
- \printuntil }
-
- The \c NotificationClient::updateAndroidNotification() function calls the
- Java method. We construct a Java string from the \c notification string
- property:
-
- \skipto updateAndroidNotification()
- \printuntil fromString
-
- And pass the string object as a parameter to the Java \c notify() method.
- Note that we must supply the signature ourselves:
-
- \printuntil }
-
- \sa {Qt for Android}, {Qt Android Extras}
-*/
diff --git a/examples/androidextras/notification/images/happy.png b/examples/androidextras/notification/images/happy.png
deleted file mode 100644
index fd31f8d..0000000
--- a/examples/androidextras/notification/images/happy.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/notification/images/sad.png b/examples/androidextras/notification/images/sad.png
deleted file mode 100644
index 74e8f8f..0000000
--- a/examples/androidextras/notification/images/sad.png
+++ /dev/null
Binary files differ
diff --git a/examples/androidextras/notification/main.cpp b/examples/androidextras/notification/main.cpp
deleted file mode 100644
index d6c352c..0000000
--- a/examples/androidextras/notification/main.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 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 <QtGui>
-#include <QtQuick>
-
-#include "notificationclient.h"
-
-int main(int argc, char **argv)
-{
- QGuiApplication app(argc, argv);
-
- QQuickView view;
-
- NotificationClient *notificationClient = new NotificationClient(&view);
- view.engine()->rootContext()->setContextProperty(QLatin1String("notificationClient"),
- notificationClient);
- view.setResizeMode(QQuickView::SizeRootObjectToView);
- view.setSource(QUrl(QStringLiteral("qrc:/qml/main.qml")));
- view.show();
-
- return app.exec();
-}
diff --git a/examples/androidextras/notification/main.qrc b/examples/androidextras/notification/main.qrc
deleted file mode 100644
index 10190c9..0000000
--- a/examples/androidextras/notification/main.qrc
+++ /dev/null
@@ -1,7 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>qml/main.qml</file>
- <file>images/happy.png</file>
- <file>images/sad.png</file>
- </qresource>
-</RCC>
diff --git a/examples/androidextras/notification/notification.pro b/examples/androidextras/notification/notification.pro
deleted file mode 100644
index b2fdec8..0000000
--- a/examples/androidextras/notification/notification.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-QT += quick androidextras
-
-SOURCES += \
- main.cpp \
- notificationclient.cpp
-
-RESOURCES += \
- main.qrc
-
-HEADERS += \
- notificationclient.h
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/notification
-INSTALLS += target
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-OTHER_FILES += \
- android/src/org/qtproject/example/notification/NotificationClient.java \
- android/AndroidManifest.xml
diff --git a/examples/androidextras/notification/notificationclient.cpp b/examples/androidextras/notification/notificationclient.cpp
deleted file mode 100644
index 871d889..0000000
--- a/examples/androidextras/notification/notificationclient.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 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 "notificationclient.h"
-
-#include <QtAndroid>
-
-NotificationClient::NotificationClient(QObject *parent)
- : QObject(parent)
-{
- connect(this, SIGNAL(notificationChanged()), this, SLOT(updateAndroidNotification()));
-}
-
-void NotificationClient::setNotification(const QString &notification)
-{
- if (m_notification == notification)
- return;
-
- m_notification = notification;
- emit notificationChanged();
-}
-
-QString NotificationClient::notification() const
-{
- return m_notification;
-}
-
-void NotificationClient::updateAndroidNotification()
-{
- QAndroidJniObject javaNotification = QAndroidJniObject::fromString(m_notification);
- QAndroidJniObject::callStaticMethod<void>(
- "org/qtproject/example/notification/NotificationClient",
- "notify",
- "(Landroid/content/Context;Ljava/lang/String;)V",
- QtAndroid::androidContext().object(),
- javaNotification.object<jstring>());
-}
diff --git a/examples/androidextras/notification/notificationclient.h b/examples/androidextras/notification/notificationclient.h
deleted file mode 100644
index 6540421..0000000
--- a/examples/androidextras/notification/notificationclient.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 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 NOTIFICATIONCLIENT_H
-#define NOTIFICATIONCLIENT_H
-
-#include <QObject>
-
-class NotificationClient : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString notification READ notification WRITE setNotification NOTIFY notificationChanged)
-public:
- explicit NotificationClient(QObject *parent = 0);
-
- void setNotification(const QString &notification);
- QString notification() const;
-
-signals:
- void notificationChanged();
-
-private slots:
- void updateAndroidNotification();
-
-private:
- QString m_notification;
-};
-
-#endif // NOTIFICATIONCLIENT_H
diff --git a/examples/androidextras/notification/qml/main.qml b/examples/androidextras/notification/qml/main.qml
deleted file mode 100644
index 97c8cad..0000000
--- a/examples/androidextras/notification/qml/main.qml
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 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.0
-
-Rectangle {
- width: 500
- height: 500
- color: "white"
-
- Column {
- anchors.fill: parent
- spacing: (height - happyButton.height - sadButton.height - title.height) / 3
-
- Text {
- id: title
- color: "black"
- font.pixelSize: parent.width / 20
- text: "How are you feeling?"
- width: parent.width
- horizontalAlignment: Text.AlignHCenter
- }
-
- Image {
- id: happyButton
- height: parent.height / 5
- fillMode: Image.PreserveAspectFit
- source: "../images/happy.png"
- anchors.horizontalCenter: parent.horizontalCenter
- smooth: true
-
- Behavior on scale {
- PropertyAnimation {
- duration: 100
- }
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: notificationClient.notification = "User is happy!"
- onPressed: happyButton.scale = 0.9
- onReleased: happyButton.scale = 1.0
- }
- }
-
- Image {
- id: sadButton
- height: parent.height / 5
- fillMode: Image.PreserveAspectFit
- source: "../images/sad.png"
- anchors.horizontalCenter: parent.horizontalCenter
- smooth: true
-
- Behavior on scale {
- PropertyAnimation {
- duration: 100
- }
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: notificationClient.notification = "User is sad :("
- onPressed: sadButton.scale = 0.9
- onReleased: sadButton.scale = 1.0
- }
- }
- }
-}
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);
- };
-};
diff --git a/examples/androidextras/services/servicebinder/android/AndroidManifest.xml b/examples/androidextras/services/servicebinder/android/AndroidManifest.xml
deleted file mode 100644
index 1f63179..0000000
--- a/examples/androidextras/services/servicebinder/android/AndroidManifest.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.qtandroidservice" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
- then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
- use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
- are done populating your window with content. -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="minimal"/>
- <!-- extract android style -->
- </activity>
-
-<service android:process=":qt_service" android:name=".QtAndroidService">
-
- <meta-data android:name="android.app.lib_name" android:value="service"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Run with local libs -->
-
- <!-- Background running -->
- <meta-data android:name="android.app.background_running" android:value="true"/>
- <!-- Background running -->
- </service>
- </application>
-</manifest>
diff --git a/examples/androidextras/services/servicebinder/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java b/examples/androidextras/services/servicebinder/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
deleted file mode 100644
index fdbd559..0000000
--- a/examples/androidextras/services/servicebinder/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
+++ /dev/null
@@ -1,73 +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$
-**
-****************************************************************************/
-
-package org.qtproject.example.qtandroidservice;
-
-import android.content.Context;
-import android.content.Intent;
-import org.qtproject.qt.android.bindings.QtService;
-import android.util.Log;
-
-public class QtAndroidService extends QtService {
-
- private static final String TAG = "QtAndroidService";
-
- @Override
- public void onCreate() {
- super.onCreate();
- Log.i(TAG, "Creating Service");
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- Log.i(TAG, "Destroying Service");
- }
-}
diff --git a/examples/androidextras/services/servicebinder/androidbinder.cpp b/examples/androidextras/services/servicebinder/androidbinder.cpp
deleted file mode 100644
index 87f98b1..0000000
--- a/examples/androidextras/services/servicebinder/androidbinder.cpp
+++ /dev/null
@@ -1,88 +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 "androidbinder.h"
-
-#include <QDebug>
-
-const static char TAG[] = "Service process";
-
-bool AndroidBinder::onTransact(int code,
- const QAndroidParcel &data,
- const QAndroidParcel &reply,
- QAndroidBinder::CallType flags)
-{
- qDebug() << TAG << ": onTransact(), code " << code << ", flags " << int(flags);
-
- switch (code) {
- case 1: {
- QAndroidBinder binder = data.readBinder();
-
- const QString name(data.readData());
- qDebug() << TAG << ": onTransact() received name " << name;
-
- reply.writeVariant("Hello " + name);
- } break;
- default:
- QAndroidBinder binder = data.readBinder();
-
- qDebug() << TAG << ": onTransact() received non-name data" << data.readVariant();
- reply.writeVariant(QVariant("Cannot process this!"));
-
- // send back message
- QAndroidParcel sendData, replyData;
- sendData.writeVariant(QVariant("Send me only names!"));
- binder.transact(0, sendData, &replyData);
- qDebug() << TAG << ": onTransact() received " << replyData.readData();
-
- break;
- }
- return true;
-}
diff --git a/examples/androidextras/services/servicebinder/androidbinder.h b/examples/androidextras/services/servicebinder/androidbinder.h
deleted file mode 100644
index d53249b..0000000
--- a/examples/androidextras/services/servicebinder/androidbinder.h
+++ /dev/null
@@ -1,61 +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 <QAndroidBinder>
-#include <QAndroidParcel>
-
-class AndroidBinder : public QAndroidBinder
-{
-public:
- bool onTransact(int code,
- const QAndroidParcel &data,
- const QAndroidParcel &reply,
- QAndroidBinder::CallType flags) override;
-};
diff --git a/examples/androidextras/services/servicebinder/doc/src/qtandroidextras-example-service-binder.qdoc b/examples/androidextras/services/servicebinder/doc/src/qtandroidextras-example-service-binder.qdoc
deleted file mode 100644
index fb503d6..0000000
--- a/examples/androidextras/services/servicebinder/doc/src/qtandroidextras-example-service-binder.qdoc
+++ /dev/null
@@ -1,182 +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$
-**
-****************************************************************************/
-
-/*!
- \title Android Service with QAndroidBinder
- \ingroup examples-qtandroidextras
- \example services/servicebinder
- \brief Demonstrates how to run an Android service in a separate process,
- and how to communicate between the service process and the main process
- using QAndroidBinder.
-
- \image androidservices.png
-
- This example demonstrates how to create and run an Android service in
- a separate process and using a separate \c .so lib file, and then exchange
- data between the two processes using \l{QAndroidBinder}.
-
- When clicking the \uicontrol {Send to Service} button, the name entered in the QML
- view, Qt, in this case, is sent to the Android service. Then, the service
- replies back with the message \c {Hello Qt} which is printed in the QML view.
-
- \include examples-run.qdocinc
-
- \section1 Create the Service
-
- To start a service in its own process, extend the \c QtService class for
- your service. Extending \c QtService allows the service to load the necessary
- Qt libraries used for Qt.
-
- Start by creating the Java service class. The following class extends \c QtService
- and acts as your service entry point:
-
- \quotefromfile services/servicebinder/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
- \skipto package
- \printuntil /^\}/
-
- This class can have any logic you want using Java code. However, you don't need
- any logic to communicate with Qt as that will be done using \l{QAndroidBinder}.
-
- \section1 Manage the AndroidManifest.xml File
-
- To use the service, it must be declared in the \c AndroidManifest.xml
- file as follows:
-
- \quotefromfile services/servicebinder/android/AndroidManifest.xml
- \skipto <service
- \printuntil </service>
-
- The important part of this service declaration is the \c lib_name part.
- It will ensure that the service is run by the service's own lib file:
-
- \quotefromfile services/servicebinder/android/AndroidManifest.xml
- \skipto android:value="service"
- \printuntil android:value="service"
-
- \section1 Handle the Service Start
-
- Create a sub-project for the service, as follows:
-
- \quotefromfile services/servicebinder/service.pro
- \printuntil androidbinder.cpp
-
- In \c androidbinder.cpp, implement a class that inherits \l{QAndroidBinder}.
- This is the binder that the main application will use to connect to the service
- by binding to it. \l{QAndroidBinder::onTransact()} uses a \c code integer to
- differentiate between actions. Use a \c switch case or \c if conditions to
- handle all expected actions that the binder could expect:
-
- \quotefromfile services/servicebinder/androidbinder.cpp
- \skipto onTransact
- \printuntil /^\}/
-
- In the service's \c main(), start the \l{QAndroidBinder} along with
- \l{QAndroidService}:
-
- \quotefromfile services/servicebinder/service_main.cpp
- \skipto main
- \printuntil /^\}/
-
-
- \section1 Handle the Application Start
-
- In the main application side, a \l{QAndroidServiceConnection} implementation
- is required to bind to the service and exchange data with it. Implement
- the functions \l{QAndroidServiceConnection::onServiceConnected()} and
- \l{QAndroidServiceConnection::onServiceDisconnected()}:
-
- \quotefromfile services/servicebinder/qtandroidservice.cpp
- \skipto onServiceConnected
- \printuntil }
- \printuntil }
-
- Then, create a function to explicitly send messages to the service:
-
- \quotefromfile services/servicebinder/qtandroidservice.cpp
- \skipto sendToService
- \printuntil }
-
- Once you have all that ready, it's time to start the service and bind to it
- as follows:
-
- \quotefromfile services/servicebinder/qtandroidservice.cpp
- \skipto :QtAndroidService
- \printuntil }
-
- The \l{QtAndroid::bindService()} is called using \l{QtAndroid::AutoCreate}
- which starts the service if it's not already running.
-
- \note To receive data explicitly sent from the service (i.e. not just a reply),
- implement \l{QAndroidBinder} in the main application the same way
- it's done on the service. Once you have that, the service could initially
- send a message.
-
- Then, create an instance for the custom \l{QAndroidServiceConnection} class
- and connect it to QML. Add the following in \c main.cpp:
-
- \quotefromfile services/servicebinder/main.cpp
- \skipto QtAndroidService
- \printuntil setContextProperty
-
- Then, add a \l Connections element to watch for the incoming messages from
- the service in \c main.qml:
-
- \quotefromfile services/common/main.qml
- \skipto Connections
- \printuntil /^\ {4}\}/
-
- And set the \c onClicked for the sending button to:
-
- \quotefromfile services/common/main.qml
- \skipto onClicked
- \printline onClicked
-
- \sa {Android Services}, {Qt for Android}, {Qt Android Extras}
-*/
diff --git a/examples/androidextras/services/servicebinder/main.cpp b/examples/androidextras/services/servicebinder/main.cpp
deleted file mode 100644
index 82066df..0000000
--- a/examples/androidextras/services/servicebinder/main.cpp
+++ /dev/null
@@ -1,69 +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 <QGuiApplication>
-#include <QQmlApplicationEngine>
-#include <QQmlContext>
-
-int main(int argc, char *argv[])
-{
- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
- QQmlApplicationEngine engine;
-
- QtAndroidService *qtAndroidService = new QtAndroidService(&app);
- engine.rootContext()->setContextProperty(QLatin1String("qtAndroidService"), qtAndroidService);
-
- engine.load(QUrl(QLatin1String("qrc:/main.qml")));
-
- return app.exec();
-}
diff --git a/examples/androidextras/services/servicebinder/qtandroidservice.cpp b/examples/androidextras/services/servicebinder/qtandroidservice.cpp
deleted file mode 100644
index c984746..0000000
--- a/examples/androidextras/services/servicebinder/qtandroidservice.cpp
+++ /dev/null
@@ -1,100 +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 <QAndroidIntent>
-#include <QAndroidParcel>
-#include <QDebug>
-
-const static char TAG[] = "Service app";
-QtAndroidService *QtAndroidService::m_instance = nullptr;
-
-void AndroidServiceConnection::onServiceConnected(const QString &name,
- const QAndroidBinder &serviceBinder)
-{
- qDebug() << TAG << ": onServiceConnected() " << name;
- m_servieBinder = serviceBinder;
-}
-
-void AndroidServiceConnection::onServiceDisconnected(const QString &name)
-{
- qDebug() << TAG << ": onServiceDisconnected() " << name;
-}
-
-void AndroidServiceConnection::sendToService(const QString &name)
-{
- // send name
- QAndroidParcel sendData, replyData;
- sendData.writeBinder(m_servieBinder);
- sendData.writeData(name.toUtf8());
- m_servieBinder.transact(1, sendData, &replyData);
- const QVariant received(replyData.readVariant());
- qDebug() << received;
- emit QtAndroidService::instance()->messageFromService(received.toString());
-}
-
-QtAndroidService::QtAndroidService(QObject *parent) : QObject(parent)
-{
- m_instance = this;
-
- QAndroidIntent serviceIntent(QtAndroid::androidActivity(),
- "org.qtproject.example.qtandroidservice.QtAndroidService");
-
- const bool bindResult = QtAndroid::bindService(serviceIntent,
- m_serviceConnection,
- QtAndroid::BindFlag::AutoCreate);
- qDebug() << "Binding to the service..." << bindResult;
-}
-
-void QtAndroidService::sendToService(const QString &name)
-{
- m_serviceConnection.sendToService(name);
-}
diff --git a/examples/androidextras/services/servicebinder/qtandroidservice.h b/examples/androidextras/services/servicebinder/qtandroidservice.h
deleted file mode 100644
index 352f6d1..0000000
--- a/examples/androidextras/services/servicebinder/qtandroidservice.h
+++ /dev/null
@@ -1,83 +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 <QAndroidBinder>
-#include <QAndroidServiceConnection>
-#include <QtAndroid>
-
-class AndroidServiceConnection : public QAndroidServiceConnection
-{
-public:
- void onServiceConnected(const QString &name, const QAndroidBinder &serviceBinder) override;
-
- void onServiceDisconnected(const QString &name) override;
-
- void sendToService(const QString &name);
-
-private:
- QAndroidBinder m_servieBinder;
-};
-
-class QtAndroidService : public QObject
-{
- Q_OBJECT
-
-public:
- explicit QtAndroidService(QObject *parent = nullptr);
- static QtAndroidService *instance() { return m_instance; }
- Q_INVOKABLE void sendToService(const QString &name);
-
-signals:
- void messageFromService(const QString &message);
-
-private:
- static QtAndroidService *m_instance;
- AndroidServiceConnection m_serviceConnection;
-};
diff --git a/examples/androidextras/services/servicebinder/service.pro b/examples/androidextras/services/servicebinder/service.pro
deleted file mode 100644
index 12853ff..0000000
--- a/examples/androidextras/services/servicebinder/service.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = lib
-TARGET = service
-CONFIG += dll
-QT += core androidextras
-
-HEADERS += androidbinder.h
-
-SOURCES += \
- service_main.cpp \
- androidbinder.cpp
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/services/servicebinder
-INSTALLS += target
diff --git a/examples/androidextras/services/servicebinder/service_main.cpp b/examples/androidextras/services/servicebinder/service_main.cpp
deleted file mode 100644
index 5fefa18..0000000
--- a/examples/androidextras/services/servicebinder/service_main.cpp
+++ /dev/null
@@ -1,65 +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 "androidbinder.h"
-
-#include <QAndroidService>
-#include <QDebug>
-
-int main(int argc, char *argv[])
-{
- qDebug() << "Starting service process from C++";
- QAndroidService app(argc, argv, [](const QAndroidIntent &) {
- qDebug() << "Android service onBind()";
- return new AndroidBinder{};
- });
-
- return app.exec();
-}
diff --git a/examples/androidextras/services/servicebinder/servicebinder.pro b/examples/androidextras/services/servicebinder/servicebinder.pro
deleted file mode 100644
index f2eeb3c..0000000
--- a/examples/androidextras/services/servicebinder/servicebinder.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += \
- servicebinderclient.pro \
- service.pro
diff --git a/examples/androidextras/services/servicebinder/servicebinderclient.pro b/examples/androidextras/services/servicebinder/servicebinderclient.pro
deleted file mode 100644
index 653e546..0000000
--- a/examples/androidextras/services/servicebinder/servicebinderclient.pro
+++ /dev/null
@@ -1,25 +0,0 @@
-QT += qml quick androidextras
-
-CONFIG += c++11
-
-HEADERS += \
- qtandroidservice.h
-
-SOURCES += \
- main.cpp \
- qtandroidservice.cpp
-
-include(../common/common.pri)
-
-# Additional import path used to resolve QML modules in Qt Creator's code model
-QML_IMPORT_PATH =
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/services/servicebinder
-INSTALLS += target
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-
-DISTFILES += \
- android/AndroidManifest.xml \
- android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
-
diff --git a/examples/androidextras/services/servicebroadcast/android/AndroidManifest.xml b/examples/androidextras/services/servicebroadcast/android/AndroidManifest.xml
deleted file mode 100644
index ef94a7f..0000000
--- a/examples/androidextras/services/servicebroadcast/android/AndroidManifest.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.qtandroidservice" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
- then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
- use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
- are done populating your window with content. -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="default"/>
- <!-- extract android style -->
- </activity>
-
-<service android:process=":qt_service" android:name=".QtAndroidService">
-
- <meta-data android:name="android.app.lib_name" android:value="service"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Run with local libs -->
-
- <!-- Background running -->
- <meta-data android:name="android.app.background_running" android:value="true"/>
- <!-- Background running -->
- </service>
- </application>
-</manifest>
diff --git a/examples/androidextras/services/servicebroadcast/android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java b/examples/androidextras/services/servicebroadcast/android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java
deleted file mode 100644
index d2802d7..0000000
--- a/examples/androidextras/services/servicebroadcast/android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java
+++ /dev/null
@@ -1,86 +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$
-**
-****************************************************************************/
-
-package org.qtproject.example.qtandroidservice;
-
-import android.content.Context;
-import android.content.Intent;
-import android.util.Log;
-import android.content.BroadcastReceiver;
-import android.content.IntentFilter;
-
-public class ActivityUtils {
-
- private static native void sendToQt(String message);
-
- private static final String TAG = "ActivityUtils";
- public static final String BROADCAST_NAME_ACTION = "org.qtproject.example.qtandroidservice.broadcast.name";
-
- public void registerServiceBroadcastReceiver(Context context) {
- IntentFilter intentFilter = new IntentFilter();
- intentFilter.addAction(BROADCAST_NAME_ACTION);
- context.registerReceiver(serviceMessageReceiver, intentFilter);
- Log.i(TAG, "Registered broadcast receiver");
- }
-
- private BroadcastReceiver serviceMessageReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- Log.i(TAG, "In OnReceive broadcast receiver");
- if (BROADCAST_NAME_ACTION.equals(intent.getAction())) {
- String name = intent.getStringExtra("name");
- Log.i(TAG, "Service received name: " + name);
- String message = "Hello " + name;
- sendToQt(message);
- Log.i(TAG, "Service sent back message: " + message);
- }
- }
- };
-}
diff --git a/examples/androidextras/services/servicebroadcast/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java b/examples/androidextras/services/servicebroadcast/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
deleted file mode 100644
index 75c01be..0000000
--- a/examples/androidextras/services/servicebroadcast/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
+++ /dev/null
@@ -1,94 +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$
-**
-****************************************************************************/
-
-package org.qtproject.example.qtandroidservice;
-
-import android.content.Context;
-import android.content.Intent;
-import android.util.Log;
-import android.os.IBinder;
-import org.qtproject.qt.android.bindings.QtService;
-import android.content.IntentFilter;
-
-public class QtAndroidService extends QtService
-{
- private static final String TAG = "QtAndroidService";
-
- @Override
- public void onCreate() {
- super.onCreate();
- Log.i(TAG, "Creating Service");
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- Log.i(TAG, "Destroying Service");
- }
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- int ret = super.onStartCommand(intent, flags, startId);
-
- String name = new String(intent.getByteArrayExtra("name"));
- Intent sendToUiIntent = new Intent();
- sendToUiIntent.setAction(ActivityUtils.BROADCAST_NAME_ACTION);
- sendToUiIntent.putExtra("name", name);
- Log.i(TAG, "Service sending broadcast");
- sendBroadcast(sendToUiIntent);
-
- return ret;
- }
-
- @Override
- public IBinder onBind(Intent intent) {
- return super.onBind(intent);
- }
-}
diff --git a/examples/androidextras/services/servicebroadcast/doc/src/qtandroidextras-example-service-broadcastreceiver.qdoc b/examples/androidextras/services/servicebroadcast/doc/src/qtandroidextras-example-service-broadcastreceiver.qdoc
deleted file mode 100644
index 781f95a..0000000
--- a/examples/androidextras/services/servicebroadcast/doc/src/qtandroidextras-example-service-broadcastreceiver.qdoc
+++ /dev/null
@@ -1,152 +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$
-**
-****************************************************************************/
-
-/*!
- \title Android Service with BroadcastReceiver
- \ingroup examples-qtandroidextras
- \example services/servicebroadcast
- \brief Demonstrates how to run an Android service in a separate process using
- a separate .so lib file, and how to communicate with Qt using a BroadcastReceiver.
-
- \image androidservices.png
-
- This example demonstrates how to create and run an Android service in a
- separate process that uses a separate \c .so lib file, and then exchange data
- between QML/C++ and the Java service using a
- \l{Android: BroadcastReceiver}{BroadcastReceiver}.
-
- When clicking the \uicontrol {Send to Service} button, the name entered in the QML
- view, Qt, in this case, is sent to the Android service. Then, the service
- replies back with a message \c {Hello Qt} which is printed in the QML view.
-
- \include examples-run.qdocinc
-
- \section1 Create the Service
-
- When running the app's process, you can extend either \c QtService or \c Service.
- Extending \c QtService allows Qt to load all the necessary libraries to load
- Qt components correctly and call native methods on Android. However, here
- the service is running in the same process, and with the BroadcastReceiver
- you don't need native calls to exchange messages with Qt, so extending either
- class works.
-
- Start by creating the Java service class. This is a normal Android \c Service
- that receives a name from QML and replies back with \c {Hello <name>}:
-
- \quotefromfile services/servicebroadcast/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
- \skipto package
- \printuntil /^\}/
-
- In the owerwritten method
- \l{Android: Service onStartCommand}{onStartCommand()}, the service receives
- a name from the calling intent, then sends a broadcast to the BroadcastReceiver,
- which in turn will call the native method \c {sendToQt(String message)}. For
- more information on managing native calls in Qt, see
- \l{Calling QML/C++ Functions from Java Code}.
-
- Since the service is run on a separate \c .so lib file, you must create a
- sub-project for the service process which uses \l{QAndroidService}. Start
- with a \c .pro file as follows:
-
- \quotefromfile services/servicebroadcast/service.pro
- \printuntil service_main
-
- Then, create the file \c service_main.cpp:
-
- \quotefromfile services/servicebroadcast/service_main.cpp
- \skipto include
- \printuntil /^\}/
-
- \section1 Manage the AndroidManifest.xml File
-
- To use the service, it must be declared in the \c AndroidManifest.xml
- file:
-
- \quotefromfile services/servicebroadcast/android/AndroidManifest.xml
- \skipto <service
- \printuntil </service>
-
- \section1 Start the Service
-
- Take the following steps to set up and start the service:
-
- \list 1
- \li Register the native method
-
- \li Create the BroadcastReceiver in a custom Java class:
-
- \quotefromfile services/servicebroadcast/android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java
- \skipto package
- \printuntil /^\}/
-
- \li Register the BroadcastReceiver:
-
- \quotefromfile services/common/qtandroidservice.cpp
- \skipto :registerBroadcastReceiver
- \printuntil /^\}/
-
- \li Call the \l{Android: Service startService}{startService()}
- method, as follows:
-
- \quotefromfile services/common/qtandroidservice.cpp
- \skipto sendToService
- \printuntil /^\}/
-
- This function is used to start the Service. If the service is already running,
- it will only send the names without starting a new service instance.
-
- \li Then, you have to add the necessary \l Connections, as described in
- \l{Qt JNI Messenger}{Qt JNI Messenger Example}.
-
- \endlist
-
- \sa {Android Service with BroadcastReceiver - Same Lib File},
- {Android Services}, {Qt for Android}, {Qt Android Extras}
-*/
diff --git a/examples/androidextras/services/servicebroadcast/main.cpp b/examples/androidextras/services/servicebroadcast/main.cpp
deleted file mode 100644
index da53bb8..0000000
--- a/examples/androidextras/services/servicebroadcast/main.cpp
+++ /dev/null
@@ -1,82 +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 <QAndroidService>
-#include <QGuiApplication>
-#include <QQmlApplicationEngine>
-#include <QQmlContext>
-
-int main(int argc, char *argv[])
-{
- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
- QQmlApplicationEngine engine;
-
- QtAndroidService *qtAndroidService = new QtAndroidService(&app);
- engine.rootContext()->setContextProperty(QLatin1String("qtAndroidService"), qtAndroidService);
-
- const QUrl url(http://code.qt.io/QStringLiteral(%22qrc:/main.qml"));
- QObject::connect(
- &engine,
- &QQmlApplicationEngine::objectCreated,
- &app,
- [url](QObject *obj, const QUrl &objUrl) {
- if (!obj && url == objUrl)
- QCoreApplication::exit(-1);
- },
- Qt::QueuedConnection);
- engine.load(url);
-
- qtAndroidService->sendToService("Qt");
-
- return app.exec();
-}
diff --git a/examples/androidextras/services/servicebroadcast/service.pro b/examples/androidextras/services/servicebroadcast/service.pro
deleted file mode 100644
index 62b2c9f..0000000
--- a/examples/androidextras/services/servicebroadcast/service.pro
+++ /dev/null
@@ -1,10 +0,0 @@
-TEMPLATE = lib
-TARGET = service
-CONFIG += dll
-QT += core androidextras
-
-SOURCES += \
- service_main.cpp
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/services/servicebroadcast
-INSTALLS += target
diff --git a/examples/androidextras/services/servicebroadcast/service_main.cpp b/examples/androidextras/services/servicebroadcast/service_main.cpp
deleted file mode 100644
index a7e2e24..0000000
--- a/examples/androidextras/services/servicebroadcast/service_main.cpp
+++ /dev/null
@@ -1,60 +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 <QDebug>
-#include <QAndroidService>
-
-int main(int argc, char *argv[])
-{
- qWarning() << "Service starting with BroadcastReceiver from separate .so file";
- QAndroidService app(argc, argv);
-
- return app.exec();
-}
diff --git a/examples/androidextras/services/servicebroadcast/servicebroadcast.pro b/examples/androidextras/services/servicebroadcast/servicebroadcast.pro
deleted file mode 100644
index 4ab511b..0000000
--- a/examples/androidextras/services/servicebroadcast/servicebroadcast.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += \
- servicebroadcastclient.pro \
- service.pro
diff --git a/examples/androidextras/services/servicebroadcast/servicebroadcastclient.pro b/examples/androidextras/services/servicebroadcast/servicebroadcastclient.pro
deleted file mode 100644
index 72ceab6..0000000
--- a/examples/androidextras/services/servicebroadcast/servicebroadcastclient.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-QT += qml quick androidextras
-
-CONFIG += c++11
-
-SOURCES += main.cpp
-
-include(../common/common_broadcast.pri)
-include(../common/common.pri)
-
-# Additional import path used to resolve QML modules in Qt Creator's code model
-QML_IMPORT_PATH =
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/services/servicebroadcast
-INSTALLS += target
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-
-DISTFILES += \
- android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java \
- android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java \
- android/AndroidManifest.xml
diff --git a/examples/androidextras/services/servicebroadcastsamelib/android/AndroidManifest.xml b/examples/androidextras/services/servicebroadcastsamelib/android/AndroidManifest.xml
deleted file mode 100644
index 9f9647f..0000000
--- a/examples/androidextras/services/servicebroadcastsamelib/android/AndroidManifest.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.qtandroidservice" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
- then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
- use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
- are done populating your window with content. -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="default"/>
- <!-- extract android style -->
- </activity>
-
-<service android:process=":qt_service" android:name=".QtAndroidService">
-
- <!-- Application arguments -->
- <meta-data android:name="android.app.arguments" android:value="-service"/>
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Run with local libs -->
-
- <!-- Background running -->
- <meta-data android:name="android.app.background_running" android:value="true"/>
- <!-- Background running -->
- </service>
- </application>
-</manifest>
diff --git a/examples/androidextras/services/servicebroadcastsamelib/android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java b/examples/androidextras/services/servicebroadcastsamelib/android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java
deleted file mode 100644
index d2802d7..0000000
--- a/examples/androidextras/services/servicebroadcastsamelib/android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java
+++ /dev/null
@@ -1,86 +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$
-**
-****************************************************************************/
-
-package org.qtproject.example.qtandroidservice;
-
-import android.content.Context;
-import android.content.Intent;
-import android.util.Log;
-import android.content.BroadcastReceiver;
-import android.content.IntentFilter;
-
-public class ActivityUtils {
-
- private static native void sendToQt(String message);
-
- private static final String TAG = "ActivityUtils";
- public static final String BROADCAST_NAME_ACTION = "org.qtproject.example.qtandroidservice.broadcast.name";
-
- public void registerServiceBroadcastReceiver(Context context) {
- IntentFilter intentFilter = new IntentFilter();
- intentFilter.addAction(BROADCAST_NAME_ACTION);
- context.registerReceiver(serviceMessageReceiver, intentFilter);
- Log.i(TAG, "Registered broadcast receiver");
- }
-
- private BroadcastReceiver serviceMessageReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- Log.i(TAG, "In OnReceive broadcast receiver");
- if (BROADCAST_NAME_ACTION.equals(intent.getAction())) {
- String name = intent.getStringExtra("name");
- Log.i(TAG, "Service received name: " + name);
- String message = "Hello " + name;
- sendToQt(message);
- Log.i(TAG, "Service sent back message: " + message);
- }
- }
- };
-}
diff --git a/examples/androidextras/services/servicebroadcastsamelib/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java b/examples/androidextras/services/servicebroadcastsamelib/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
deleted file mode 100644
index 69ae5a6..0000000
--- a/examples/androidextras/services/servicebroadcastsamelib/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
+++ /dev/null
@@ -1,95 +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$
-**
-****************************************************************************/
-
-package org.qtproject.example.qtandroidservice;
-
-import android.content.Context;
-import android.content.Intent;
-import android.util.Log;
-import android.os.IBinder;
-import org.qtproject.qt.android.bindings.QtService;
-import android.content.IntentFilter;
-
-
-public class QtAndroidService extends QtService
-{
- private static final String TAG = "QtAndroidService";
-
- @Override
- public void onCreate() {
- super.onCreate();
- Log.i(TAG, "Creating Service");
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- Log.i(TAG, "Destroying Service");
- }
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- int ret = super.onStartCommand(intent, flags, startId);
-
- String name = new String(intent.getByteArrayExtra("name"));
- Intent sendToUiIntent = new Intent();
- sendToUiIntent.setAction(ActivityUtils.BROADCAST_NAME_ACTION);
- sendToUiIntent.putExtra("name", name);
- Log.i(TAG, "Service sending broadcast");
- sendBroadcast(sendToUiIntent);
-
- return ret;
- }
-
- @Override
- public IBinder onBind(Intent intent) {
- return super.onBind(intent);
- }
-}
diff --git a/examples/androidextras/services/servicebroadcastsamelib/doc/src/qtandroidextras-example-service-broadcastreceiver-samelib.qdoc b/examples/androidextras/services/servicebroadcastsamelib/doc/src/qtandroidextras-example-service-broadcastreceiver-samelib.qdoc
deleted file mode 100644
index 7f1d6b0..0000000
--- a/examples/androidextras/services/servicebroadcastsamelib/doc/src/qtandroidextras-example-service-broadcastreceiver-samelib.qdoc
+++ /dev/null
@@ -1,153 +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$
-**
-****************************************************************************/
-
-/*!
- \title Android Service with BroadcastReceiver - Same Lib File
- \ingroup examples-qtandroidextras
- \example services/servicebroadcastsamelib
- \brief Demonstrates how to run an Android service in a separate process,
- and how to communicate with Qt using a BroadcastReceiver.
-
- \image androidservices.png
-
- This example demonstrates how to create and run an Android service in its
- own process using the same main \c .so lib file, and then exchange data
- between QML/C++ and the Java service using a
- \l{Android: BroadcastReceiver}{BroadcastReceiver}.
-
- When clicking the \uicontrol {Send to Service} button, the name entered in
- the QML view, Qt, in this case, is sent to the Android service. Then, the
- service replies back with a message \c {Hello Qt} which is printed in the
- QML view.
-
- \include examples-run.qdocinc
-
- \section1 Create the Service
-
- When running the app's process, you can extend either \c QtService or \c Service.
- Extending \c QtService allows Qt to load all the necessary libraries to load
- Qt components correctly and call native methods on Android. However, here
- the service is running in the same process, and with the BroadcastReceiver you
- don't need native calls to exchange messages with Qt, so extending either
- class works.
-
- Start by creating the Java service class. This is a normal Android \c Service
- that receives a name from QML and replies back with \c {Hello <name>}:
-
- \quotefromfile services/servicebroadcastsamelib/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
- \skipto package
- \printuntil /^\}/
-
- In the overwritten method
- \l{Android: Service onStartCommand}{onStartCommand()},
- the service receives a name from the calling intent, then sends a broadcast
- to the BroadcastReceiver, which in turn will call the native method
- \c {sendToQt(String message)}. For more information on managing native
- calls in Qt, see \l{Calling QML/C++ Functions from Java Code}.
-
- \section1 Manage the AndroidManifest.xml File
-
- To use the service, it must be declared in the \c AndroidManifest.xml
- file:
-
- \quotefromfile services/servicebroadcastsamelib/android/AndroidManifest.xml
- \skipto <service
- \printuntil </service>
-
- \section1 Start the Service
-
- Since the service is run using the same \c .so lib file with different arguments
- for the service, you must handle the arguments. For the main application use:
-
- \quotefromfile services/servicebroadcastsamelib/main.cpp
- \skipto (argc
- \printline (argc
-
- Then take the following steps:
-
- \list 1
- \li Register the native method
-
- \li Create the BroadcastReceiver in a custom Java class:
-
- \quotefromfile services/servicebroadcastsamelib/android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java
- \skipto package
- \printuntil /^\}/
-
- \li Register the BroadcastReceiver:
-
- \quotefromfile services/common/qtandroidservice.cpp
- \skipto :registerBroadcastReceiver
- \printuntil /^\}/
-
- \li Call the \l{Android: Service startService}{startService()}
- method, as follows:
-
- \quotefromfile services/common/qtandroidservice.cpp
- \skipto sendToService
- \printuntil /^\}/
-
- This function is used to start the Service. If the service is already running,
- it will only send the names without starting a new service instance.
-
- \li Then, you have to add the necessary \l Connections, as described in
- \l{Qt JNI Messenger}{Qt JNI Messenger Example}.
-
- \endlist
-
- Handle the service argument as follows:
-
- \quotefromfile services/servicebroadcastsamelib/main.cpp
- \skipto else if
- \printuntil app.exec();
-
- \sa {Android Service with BroadcastReceiver}, {Android Services},
- {Qt for Android}, {Qt Android Extras}
-*/
diff --git a/examples/androidextras/services/servicebroadcastsamelib/main.cpp b/examples/androidextras/services/servicebroadcastsamelib/main.cpp
deleted file mode 100644
index 15dfa93..0000000
--- a/examples/androidextras/services/servicebroadcastsamelib/main.cpp
+++ /dev/null
@@ -1,90 +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 <QAndroidService>
-#include <QGuiApplication>
-#include <QQmlApplicationEngine>
-#include <QQmlContext>
-
-int main(int argc, char *argv[])
-{
- if (argc <= 1) {
- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
- QQmlApplicationEngine engine;
-
- QtAndroidService *qtAndroidService = new QtAndroidService(&app);
- engine.rootContext()->setContextProperty(QLatin1String("qtAndroidService"), qtAndroidService);
-
- const QUrl url(http://code.qt.io/QStringLiteral(%22qrc:/main.qml"));
- QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
- &app, [url](QObject *obj, const QUrl &objUrl) {
- if (!obj && url == objUrl)
- QCoreApplication::exit(-1);
- }, Qt::QueuedConnection);
- engine.load(url);
-
- qtAndroidService->sendToService("Qt");
-
- return app.exec();
-
- } else if (argc > 1 && strcmp(argv[1], "-service") == 0) {
- qWarning() << "Service starting with BroadcastReceiver from same .so file";
- QAndroidService app(argc, argv);
-
- return app.exec();
-
- } else {
- qWarning() << "Unrecognized command line argument";
- return -1;
- }
-}
diff --git a/examples/androidextras/services/servicebroadcastsamelib/servicebroadcastsamelib.pro b/examples/androidextras/services/servicebroadcastsamelib/servicebroadcastsamelib.pro
deleted file mode 100644
index dce9afe..0000000
--- a/examples/androidextras/services/servicebroadcastsamelib/servicebroadcastsamelib.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-QT += qml quick androidextras
-
-CONFIG += c++11
-
-SOURCES += main.cpp
-
-include(../common/common_broadcast.pri)
-include(../common/common.pri)
-
-# Additional import path used to resolve QML modules in Qt Creator's code model
-QML_IMPORT_PATH =
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/services/servicebroadcastsamelib
-INSTALLS += target
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-
-DISTFILES += \
- android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java \
- android/src/org/qtproject/example/qtandroidservice/ActivityUtils.java \
- android/AndroidManifest.xml
diff --git a/examples/androidextras/services/serviceremoteobjects/android/AndroidManifest.xml b/examples/androidextras/services/serviceremoteobjects/android/AndroidManifest.xml
deleted file mode 100644
index 5ed4f31..0000000
--- a/examples/androidextras/services/serviceremoteobjects/android/AndroidManifest.xml
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.qtandroidservice" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
- then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
- use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
- are done populating your window with content. -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="default"/>
- <!-- extract android style -->
- </activity>
-
- <service android:process=":qt_service" android:name=".QtAndroidService">
-
- <meta-data android:name="android.app.lib_name" android:value="service"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Run with local libs -->
-
- <!-- Background running -->
- <meta-data android:name="android.app.background_running" android:value="true"/>
- <!-- Background running -->
- </service>
- </application>
-</manifest>
diff --git a/examples/androidextras/services/serviceremoteobjects/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java b/examples/androidextras/services/serviceremoteobjects/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
deleted file mode 100644
index 791b319..0000000
--- a/examples/androidextras/services/serviceremoteobjects/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
+++ /dev/null
@@ -1,72 +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$
-**
-****************************************************************************/
-package org.qtproject.example.qtandroidservice;
-
-import android.content.Context;
-import android.content.Intent;
-import org.qtproject.qt.android.bindings.QtService;
-import android.util.Log;
-
-public class QtAndroidService extends QtService {
-
- private static final String TAG = "QtAndroidService";
-
- @Override
- public void onCreate() {
- super.onCreate();
- Log.i(TAG, "Creating Service");
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- Log.i(TAG, "Destroying Service");
- }
-}
diff --git a/examples/androidextras/services/serviceremoteobjects/doc/src/qtandroidextras-example-service-remoteobjects.qdoc b/examples/androidextras/services/serviceremoteobjects/doc/src/qtandroidextras-example-service-remoteobjects.qdoc
deleted file mode 100644
index 667f31b..0000000
--- a/examples/androidextras/services/serviceremoteobjects/doc/src/qtandroidextras-example-service-remoteobjects.qdoc
+++ /dev/null
@@ -1,183 +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$
-**
-****************************************************************************/
-
-/*!
- \title Android Service with Qt Remote Objects
- \ingroup examples-qtandroidextras
- \example services/serviceremoteobjects
- \brief Demonstrates how to run an Android service in a separate process,
- and how to communicate between the service process and the main process
- using Qt Remote Objects.
-
- \image androidservices.png
-
- This example demonstrates how to create and run an Android service in
- a separate process from the main application process, and then exchange data
- between QML/C++ and the Java service using \l{Qt Remote Objects}.
-
- When clicking the \uicontrol {Send to Service} button, the name entered in the QML
- view, Qt, in this case, is sent to the Android service. Then, the service
- replies back with a message \c {Hello Qt} which is printed in the QML view.
-
- \include examples-run.qdocinc
-
- \section1 Create the Service
-
- To start a service in its own process, extend the \c QtService class for
- your service. Extending \c QtService allows the service to load the necessary
- Qt libraries used for Qt, like \l{Qt Remote Objects} libraries.
-
- Start by creating the Java service class. The following class extends \c QtService
- and acts as your service entry point:
-
- \quotefromfile services/serviceremoteobjects/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
- \skipto package
- \printuntil /^\}/
-
- This class can have any logic you want using Java code. However, you don't need
- any logic to communicate with Qt as that will be done using Qt Remote Objects.
-
- \section1 Manage the AndroidManifest.xml File
-
- To use the service, it must be declared in the \c AndroidManifest.xml
- file as follows:
-
- \quotefromfile services/serviceremoteobjects/android/AndroidManifest.xml
- \skipto <service
- \printuntil </service>
-
- The important part of this service declaration is the \c lib_name part.
- It will ensure that the service is run by the service's own lib file:
-
- \quotefromfile services/serviceremoteobjects/android/AndroidManifest.xml
- \skipto android:value="service"
- \printuntil android:value="service"
-
- \section1 Handle the Application Start
-
- To start the service, call the following function from the application's
- \c main():
-
- \quotefromfile services/serviceremoteobjects/main.cpp
- \skipto startService
- \printuntil /^\}/
-
- \section1 Handle the Service Start
-
- \l{QAndroidService} is used to create the service process. For the service
- to start from its own \c .so lib file, create a sub-project with the following
- \c .pro file:
-
- \quotefromfile services/serviceremoteobjects/service.pro
- \printuntil CONFIG
-
- \section1 Communication with Qt Remote Objects
-
- To use \l{Qt Remote Objects}, define a \c .rep file:
-
- \quotefromfile services/common/qtandroidservice.rep
- \skipto class
- \printuntil /^\}/
-
- Define the \c .rep source file in the service project \c .pro:
-
- \quotefromfile services/serviceremoteobjects/service.pro
- \skipto REPC_SOURCE
- \printline REPC_SOURCE
-
- And in the application's \c .pro file:
-
- \quotefromfile services/serviceremoteobjects/serviceremoteobjectsclient.pro
- \skipto REPC_REPLICA
- \printline REPC_REPLICA
-
- Then define the class used by Qt Remote Objects, which has a
- \c sendToService() slot and a \c messageFromService() signal:
-
- \quotefromfile services/common/qtandroidservice_ro.h
- \skipto include
- \printuntil /^\};/
-
- Include the class in the previous snippet in \c main.cpp:
-
- \quotefromfile services/serviceremoteobjects/main.cpp
- \skipto _replica.h
- \printline _replica.h
-
- Now, in the service's \c service_main.cpp, create the \l{QRemoteObjectHost}
- node and start \l{QAndroidService}:
-
- \quotefromfile services/serviceremoteobjects/service_main.cpp
- \skipto include
- \printuntil /^\}/
-
- In the application's \c main.cpp, create the client node and connect it
- to the source node created in the service and connect it to the QML view:
-
- \quotefromfile services/serviceremoteobjects/main.cpp
- \skipto QRemoteObjectNode
- \printuntil sendToService
-
- Then, add a \l Connections element to watch for the incoming messages from
- the service:
-
- \quotefromfile services/common/main.qml
- \skipto Connections
- \printuntil /^\ {4}\}/
-
- And set the \c onClicked for the sending button to:
-
- \quotefromfile services/common/main.qml
- \skipto onClicked
- \printline onClicked
-
- \sa {Android Service with Qt Remote Objects - Same Lib File},
- {Android Services}, {Qt for Android}, {Qt Android Extras}
-*/
diff --git a/examples/androidextras/services/serviceremoteobjects/main.cpp b/examples/androidextras/services/serviceremoteobjects/main.cpp
deleted file mode 100644
index b54460a..0000000
--- a/examples/androidextras/services/serviceremoteobjects/main.cpp
+++ /dev/null
@@ -1,91 +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_replica.h"
-
-#include <QAndroidIntent>
-#include <QtAndroid>
-
-#include <QGuiApplication>
-#include <QQmlApplicationEngine>
-#include <QQmlContext>
-
-void startService()
-{
- QAndroidIntent serviceIntent(QtAndroid::androidActivity().object(),
- "org/qtproject/example/qtandroidservice/QtAndroidService");
- QAndroidJniObject result = QtAndroid::androidActivity().callObjectMethod(
- "startService",
- "(Landroid/content/Intent;)Landroid/content/ComponentName;",
- serviceIntent.handle().object());
-}
-
-int main(int argc, char *argv[])
-{
- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
- QQmlApplicationEngine engine;
-
- startService();
-
- QRemoteObjectNode repNode;
- repNode.connectToNode(QUrl(QStringLiteral("local:replica")));
- QSharedPointer<QtAndroidServiceReplica> rep(repNode.acquire<QtAndroidServiceReplica>());
- engine.rootContext()->setContextProperty("qtAndroidService", rep.data());
- bool res = rep->waitForSource();
- Q_ASSERT(res);
- rep->sendToService("Qt");
-
- QObject::connect(rep.data(), &QtAndroidServiceReplica::messageFromService, [](const QString &message){
- qDebug() << "Service sent: " << message;
- });
- engine.load(QUrl(QLatin1String("qrc:/main.qml")));
-
- return app.exec();
-}
diff --git a/examples/androidextras/services/serviceremoteobjects/service.pro b/examples/androidextras/services/serviceremoteobjects/service.pro
deleted file mode 100644
index 09a0aaa..0000000
--- a/examples/androidextras/services/serviceremoteobjects/service.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = lib
-TARGET = service
-CONFIG += dll
-QT += core androidextras remoteobjects
-
-SOURCES += service_main.cpp
-
-include(../common/common_ro.pri)
-
-REPC_SOURCE += ../common/qtandroidservice.rep
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/services/serviceremoteobjects
-INSTALLS += target
diff --git a/examples/androidextras/services/serviceremoteobjects/service_main.cpp b/examples/androidextras/services/serviceremoteobjects/service_main.cpp
deleted file mode 100644
index dc1ec35..0000000
--- a/examples/androidextras/services/serviceremoteobjects/service_main.cpp
+++ /dev/null
@@ -1,65 +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_ro.h"
-
-#include <QDebug>
-#include <QAndroidService>
-
-int main(int argc, char *argv[])
-{
- qWarning() << "QtAndroidService starting from separate .so";
- QAndroidService app(argc, argv);
-
- QRemoteObjectHost srcNode(QUrl(QStringLiteral("local:replica")));
- QtAndroidService qtAndroidService;
- srcNode.enableRemoting(&qtAndroidService);
-
- return app.exec();
-}
diff --git a/examples/androidextras/services/serviceremoteobjects/serviceremoteobjects.pro b/examples/androidextras/services/serviceremoteobjects/serviceremoteobjects.pro
deleted file mode 100644
index 8b8b6e0..0000000
--- a/examples/androidextras/services/serviceremoteobjects/serviceremoteobjects.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += \
- serviceremoteobjectsclient.pro \
- service.pro
diff --git a/examples/androidextras/services/serviceremoteobjects/serviceremoteobjectsclient.pro b/examples/androidextras/services/serviceremoteobjects/serviceremoteobjectsclient.pro
deleted file mode 100644
index 75f5a2f..0000000
--- a/examples/androidextras/services/serviceremoteobjects/serviceremoteobjectsclient.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-QT += qml quick androidextras remoteobjects
-
-CONFIG += c++11
-
-SOURCES += main.cpp
-
-include(../common/common.pri)
-
-REPC_REPLICA += ../common/qtandroidservice.rep
-
-# Additional import path used to resolve QML modules in Qt Creator's code model
-QML_IMPORT_PATH =
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/services/serviceremoteobjects
-INSTALLS += target
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-
-DISTFILES += \
- android/AndroidManifest.xml \
- android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
diff --git a/examples/androidextras/services/serviceremoteobjectssamelib/android/AndroidManifest.xml b/examples/androidextras/services/serviceremoteobjectssamelib/android/AndroidManifest.xml
deleted file mode 100644
index 190891f..0000000
--- a/examples/androidextras/services/serviceremoteobjectssamelib/android/AndroidManifest.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.qtandroidservice" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
- then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
- use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
- are done populating your window with content. -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="default"/>
- <!-- extract android style -->
- </activity>
-
- <service android:process=":qt_service" android:name=".QtAndroidService">
-
- <!-- Application arguments -->
- <meta-data android:name="android.app.arguments" android:value="-service"/>
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Run with local libs -->
-
- <!-- Background running -->
- <meta-data android:name="android.app.background_running" android:value="true"/>
- <!-- Background running -->
- </service>
- </application>
-</manifest>
diff --git a/examples/androidextras/services/serviceremoteobjectssamelib/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java b/examples/androidextras/services/serviceremoteobjectssamelib/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
deleted file mode 100644
index fd3bd82..0000000
--- a/examples/androidextras/services/serviceremoteobjectssamelib/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
+++ /dev/null
@@ -1,72 +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$
-**
-****************************************************************************/
-package org.qtproject.example.qtandroidservice;
-
-import android.content.Context;
-import android.content.Intent;
-import org.qtproject.qt.android.bindings.QtService;
-import android.util.Log;
-
-public class QtAndroidService extends QtService
-{
- private static final String TAG = "QtAndroidService";
-
- @Override
- public void onCreate() {
- Log.i(TAG, "Creating Service");
- super.onCreate();
- }
-
- @Override
- public void onDestroy() {
- Log.i(TAG, "Destroying Service");
- super.onDestroy();
- }
-}
diff --git a/examples/androidextras/services/serviceremoteobjectssamelib/doc/src/qtandroidextras-example-service-remoteobjects-samelib.qdoc b/examples/androidextras/services/serviceremoteobjectssamelib/doc/src/qtandroidextras-example-service-remoteobjects-samelib.qdoc
deleted file mode 100644
index 91feaeb..0000000
--- a/examples/androidextras/services/serviceremoteobjectssamelib/doc/src/qtandroidextras-example-service-remoteobjects-samelib.qdoc
+++ /dev/null
@@ -1,189 +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$
-**
-****************************************************************************/
-
-/*!
- \target android service with remote object in same lib
- \title Android Service with Qt Remote Objects - Same Lib File
- \ingroup examples-qtandroidextras
- \example services/serviceremoteobjectssamelib
- \brief Demonstrates how to run an Android service in a separate process using
- the same lib file, and how to communicate between the service process
- and the main process using Qt Remote Objects.
-
- \image androidservices.png
-
- This example demonstrates how to create and run an Android service in
- a separate process from the main application process, and then exchange data
- between QML/C++ and the Java service using \l{Qt Remote Objects}.
-
- When clicking the \uicontrol {Send to Service} button, the name entered in the QML
- view, Qt, in this case, is sent to the Android service. Then, the service
- replies back with a message \c {Hello Qt} which is printed in the QML view.
-
- \include examples-run.qdocinc
-
- \section1 Create the Service
-
- To start a service in its own process, you can extend the \c QtService class
- for your service. Extending \c QtService allows the service to load the
- necessary Qt libraries used for Qt, like \l{Qt Remote Objects} libraries.
-
- Start by creating the Java service class. The following class extends \c QtService
- and acts as your service entry point:
-
- \quotefromfile services/serviceremoteobjectssamelib/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
- \skipto package
- \printuntil /^\}/
-
- This class can have any logic you want using Java code. However, you don't need
- any logic to communicate with Qt as that will be done using Qt Remote Objects.
-
- \section1 Manage the AndroidManifest.xml File
-
- To be able to use the service, it must be declared in the \c AndroidManifest.xml
- file as follows:
-
- \quotefromfile services/serviceremoteobjectssamelib/android/AndroidManifest.xml
- \skipto <service
- \printuntil </service>
-
- The important parts of this service declaration are the \c arguments and \c lib_name
- parts. Those will ensure that the service is run by executing the lib file
- of the main activity with the argument \c -service:
-
- \quotefromfile services/serviceremoteobjectssamelib/android/AndroidManifest.xml
- \skipto <service
- \skipto <!-- Application arguments -->
- \printuntil lib_name
-
- \section1 Handle the Application Start
-
- Since the same \c .so lib file is being used for the application and the
- service, you need to handle both scenarios in the \c main() function. No
- arguments are provided to start the main application, and therefore you must
- add the following in the \c main() function:
-
- \quotefromfile services/serviceremoteobjectssamelib/main.cpp
- \skipto (argc
- \printline (argc
-
- Then calling the following function starts the service:
-
- \quotefromfile services/serviceremoteobjectssamelib/main.cpp
- \skipto startService
- \printuntil /^\}/
-
- \section1 Handle the Service Start
-
- \l{QAndroidService} is used to create the service process. The main .so lib
- file will be called with an argument to start the service if you add the
- following code:
-
- \quotefromfile services/serviceremoteobjectssamelib/main.cpp
- \skipto else if
- \printline else if
-
- \section1 Communication with Qt Remote Objects
-
- To use \l{Qt Remote Objects}, define a \c .rep file:
-
- \quotefromfile services/common/qtandroidservice.rep
- \skipto class
- \printuntil /^\}/
-
- Define the \c .rep source and replica file in your project \c .pro file as follows:
-
- \quotefromfile services/serviceremoteobjectssamelib/serviceremoteobjectssamelib.pro
- \skipto REPC_SOURCE
- \printuntil REPC_REPLICA
-
- Then define the class used by Qt Remote Objects, which has a
- \c sendToService() slot and a \c messageFromService() signal:
-
- \quotefromfile services/common/qtandroidservice_ro.h
- \skipto include
- \printuntil /^\};/
-
- Include the class in the previous snippet in \c main.cpp:
-
- \quotefromfile services/serviceremoteobjectssamelib/main.cpp
- \skipto _replica.h
- \printline _replica.h
-
- Now, inside the service handling part, create the \l{QRemoteObjectHost}
- node:
-
- \quotefromfile services/serviceremoteobjectssamelib/main.cpp
- \skipto QRemoteObjectHost
- \printuntil enableRemoting
-
- Then, in the application handling part, create the client node and connect it
- to the source node created in the service and connect it to the QML view:
-
- \quotefromfile services/serviceremoteobjectssamelib/main.cpp
- \skipto QRemoteObjectNode
- \printuntil sendToService
-
- Then, add a \l Connections element to watch for the incoming messages from
- the service:
-
- \quotefromfile services/common/main.qml
- \skipto Connections
- \printuntil /^\ {4}\}/
-
- And set the \c onClicked for the sending button to:
-
- \quotefromfile services/common/main.qml
- \skipto onClicked
- \printline onClicked
-
- \sa {Android Service with Qt Remote Objects}, {Android Services},
- {Qt for Android}, {Qt Android Extras}
-*/
diff --git a/examples/androidextras/services/serviceremoteobjectssamelib/main.cpp b/examples/androidextras/services/serviceremoteobjectssamelib/main.cpp
deleted file mode 100644
index 8f85cbd..0000000
--- a/examples/androidextras/services/serviceremoteobjectssamelib/main.cpp
+++ /dev/null
@@ -1,106 +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_replica.h"
-#include "qtandroidservice_ro.h"
-
-#include <QAndroidIntent>
-#include <QtAndroid>
-#include <QAndroidService>
-
-#include <QGuiApplication>
-#include <QQmlApplicationEngine>
-#include <QQmlContext>
-
-void startService()
-{
- QAndroidIntent serviceIntent(QtAndroid::androidActivity().object(),
- "org/qtproject/example/qtandroidservice/QtAndroidService");
- QAndroidJniObject result = QtAndroid::androidActivity().callObjectMethod(
- "startService",
- "(Landroid/content/Intent;)Landroid/content/ComponentName;",
- serviceIntent.handle().object());
-}
-
-int main(int argc, char *argv[])
-{
- if (argc <= 1) {
- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
- QQmlApplicationEngine engine;
-
- startService();
-
- QRemoteObjectNode repNode;
- repNode.connectToNode(QUrl(QStringLiteral("local:replica")));
- QSharedPointer<QtAndroidServiceReplica> rep(repNode.acquire<QtAndroidServiceReplica>());
- engine.rootContext()->setContextProperty("qtAndroidService", rep.data());
- bool res = rep->waitForSource();
- Q_ASSERT(res);
- rep->sendToService("Qt");
-
- engine.load(QUrl(QLatin1String("qrc:/main.qml")));
-
- return app.exec();
-
- } else if (argc > 1 && strcmp(argv[1], "-service") == 0) {
- qWarning() << "QtAndroidService starting from same .so";
- QAndroidService app(argc, argv);
-
- QRemoteObjectHost srcNode(QUrl(QStringLiteral("local:replica")));
- QtAndroidService qtAndroidService;
- srcNode.enableRemoting(&qtAndroidService);
-
- return app.exec();
-
- } else {
- qWarning() << "Unrecognized command line argument";
- return -1;
- }
-}
diff --git a/examples/androidextras/services/serviceremoteobjectssamelib/serviceremoteobjectssamelib.pro b/examples/androidextras/services/serviceremoteobjectssamelib/serviceremoteobjectssamelib.pro
deleted file mode 100644
index 3975a19..0000000
--- a/examples/androidextras/services/serviceremoteobjectssamelib/serviceremoteobjectssamelib.pro
+++ /dev/null
@@ -1,23 +0,0 @@
-QT += qml quick androidextras remoteobjects
-
-CONFIG += c++11
-
-SOURCES += main.cpp
-
-include(../common/common_ro.pri)
-include(../common/common.pri)
-
-REPC_SOURCE += ../common/qtandroidservice.rep
-REPC_REPLICA += ../common/qtandroidservice.rep
-
-# Additional import path used to resolve QML modules in Qt Creator's code model
-QML_IMPORT_PATH =
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/services/serviceremoteobjectssamelib
-INSTALLS += target
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-
-DISTFILES += \
- android/AndroidManifest.xml \
- android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
diff --git a/examples/androidextras/services/services.pro b/examples/androidextras/services/services.pro
deleted file mode 100644
index 0d567d6..0000000
--- a/examples/androidextras/services/services.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += \
- servicesameprocess \
- servicebinder \
- servicebroadcast \
- servicebroadcastsamelib
-
-qtHaveModule(remoteobjects) {
- SUBDIRS += \
- serviceremoteobjects \
- serviceremoteobjectssamelib
-}
diff --git a/examples/androidextras/services/servicesameprocess/android/AndroidManifest.xml b/examples/androidextras/services/servicesameprocess/android/AndroidManifest.xml
deleted file mode 100644
index ed72c2d..0000000
--- a/examples/androidextras/services/servicesameprocess/android/AndroidManifest.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.qtandroidservice" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
- <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
-
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs_resource_id" android:resource="@array/load_local_libs"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- Orientation-specific (portrait/landscape) data is checked first. If not available for current orientation,
- then android.app.splash_screen_drawable. For best results, use together with splash_screen_sticky and
- use hideSplashScreen() with a fade-out animation from Qt Android Extras to hide the splash screen when you
- are done populating your window with content. -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_portrait" android:resource="@drawable/logo_portrait" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable_landscape" android:resource="@drawable/logo_landscape" / -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="default"/>
- <!-- extract android style -->
- </activity>
-
- <service android:name=".QtAndroidService">
- <!-- Background running -->
- <meta-data android:name="android.app.background_running" android:value="true"/>
- <!-- Background running -->
- </service>
- </application>
-</manifest>
diff --git a/examples/androidextras/services/servicesameprocess/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java b/examples/androidextras/services/servicesameprocess/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
deleted file mode 100644
index 1a5f5e5..0000000
--- a/examples/androidextras/services/servicesameprocess/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
+++ /dev/null
@@ -1,92 +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$
-**
-****************************************************************************/
-
-package org.qtproject.example.qtandroidservice;
-
-import android.content.Context;
-import android.content.Intent;
-import android.util.Log;
-import android.app.Service;
-import android.os.IBinder;
-
-public class QtAndroidService extends Service
-{
- private static native void sendToQt(String message);
- private static final String TAG = "QtAndroidService";
-
- @Override
- public void onCreate() {
- super.onCreate();
- Log.i(TAG, "Creating Service");
- }
-
- @Override
- public void onDestroy() {
- super.onDestroy();
- Log.i(TAG, "Destroying Service");
- }
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
- int ret = super.onStartCommand(intent, flags, startId);
- String name = new String(intent.getByteArrayExtra("name"));
- Log.i(TAG, "Service received name: " + name);
- String message = "Hello " + name;
- sendToQt(message);
- Log.i(TAG, "Service sent back message: " + message);
-
- return ret;
- }
-
- @Override
- public IBinder onBind(Intent intent) {
- return null;
- }
-}
diff --git a/examples/androidextras/services/servicesameprocess/doc/src/qtandroidextras-example-service-same-process.qdoc b/examples/androidextras/services/servicesameprocess/doc/src/qtandroidextras-example-service-same-process.qdoc
deleted file mode 100644
index 7aeef0a..0000000
--- a/examples/androidextras/services/servicesameprocess/doc/src/qtandroidextras-example-service-same-process.qdoc
+++ /dev/null
@@ -1,116 +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$
-**
-****************************************************************************/
-
-/*!
- \title Native Android Service in Same Process
- \ingroup examples-qtandroidextras
- \example services/servicesameprocess
- \brief Demonstrates how to run an Android service in the main process,
- and how to communicate between QML/C++ and a Java service.
-
- \image androidservices.png
-
- This example demonstrates how to create and run a simple Android service in
- the same process as the main activity \c QtActivity, and then exchange data
- between QML/C++ and the Java service. This service is a pure Java
- implementation.
-
- When clicking the \uicontrol {Send to Service} button, the name entered in
- the QML view, Qt, in this case, is sent to the Android service. Then, the service
- replies back with a message \c {Hello Qt} which is printed in the QML view.
-
- \include examples-run.qdocinc
-
- \section1 Create the Service
-
- When running the app's process, you can extend either \c QtService or \c Service.
- Extending \c QtService allows Qt to load all the necessary libraries to load
- Qt components correctly and call native methods on Android. However, here
- the service is running in the same process, so extending either class works.
-
- Start by creating the Java service class. This is a normal Android \c Service
- that receives a name from QML and replies back with \c {Hello <name>}:
-
- \quotefromfile services/servicesameprocess/android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java
- \skipto package
- \printuntil /^\}/
-
- In the overwritten method
- \l{Android: Service onStartCommand}{onStartCommand()}, the service receives a
- name from the calling intent, then calls the native method
- \c {sendToQt(String message)}. For more information on managing native
- calls in Qt, see \l{Calling QML/C++ Functions from Java Code}.
-
- \section1 Manage the AndroidManifest.xml File
-
- To use the service, it must be declared in the \c AndroidManifest.xml
- file. When using pure Android Service in the main app process, use the following:
-
- \quotefromfile services/servicesameprocess/android/AndroidManifest.xml
- \skipto <service
- \printuntil </service>
-
- \section1 Start the Service
-
- Before starting the service, register the native methods, then call the
- \l{Android: Service startService}{startService()} method, as follows:
-
- \quotefromfile services/servicesameprocess/qtandroidservice.cpp
- \skipto sendToService
- \printuntil /^\}/
-
- This function is used to start the Service. If the service is already running,
- it will only send the names without starting a new service instance.
-
- Then, you have to add the necessary \l Connections, as described in
- \l{Qt JNI Messenger}{Qt JNI Messenger Example}.
-
- \sa {Android Services}, {Qt for Android}, {Qt Android Extras}
-*/
diff --git a/examples/androidextras/services/servicesameprocess/main.cpp b/examples/androidextras/services/servicesameprocess/main.cpp
deleted file mode 100644
index 1d06566..0000000
--- a/examples/androidextras/services/servicesameprocess/main.cpp
+++ /dev/null
@@ -1,77 +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 <QGuiApplication>
-#include <QQmlApplicationEngine>
-#include <QQmlContext>
-
-int main(int argc, char *argv[])
-{
- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QGuiApplication app(argc, argv);
- QQmlApplicationEngine engine;
-
- QtAndroidService *qtAndroidService = new QtAndroidService(&app);
- engine.rootContext()->setContextProperty(QLatin1String("qtAndroidService"), qtAndroidService);
-
- const QUrl url(http://code.qt.io/QStringLiteral(%22qrc:/main.qml"));
- QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
- &app, [url](QObject *obj, const QUrl &objUrl) {
- if (!obj && url == objUrl)
- QCoreApplication::exit(-1);
- }, Qt::QueuedConnection);
- engine.load(url);
-
- qtAndroidService->sendToService("Qt");
-
- return app.exec();
-}
diff --git a/examples/androidextras/services/servicesameprocess/qtandroidservice.cpp b/examples/androidextras/services/servicesameprocess/qtandroidservice.cpp
deleted file mode 100644
index 70db380..0000000
--- a/examples/androidextras/services/servicesameprocess/qtandroidservice.cpp
+++ /dev/null
@@ -1,88 +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;
-
- JNINativeMethod methods[] {{"sendToQt", "(Ljava/lang/String;)V", reinterpret_cast<void *>(receivedFromAndroidService)}};
- QAndroidJniObject javaClass("org/qtproject/example/qtandroidservice/QtAndroidService");
-
- QAndroidJniEnvironment env;
- jclass objectClass = env->GetObjectClass(javaClass.object<jobject>());
- env->RegisterNatives(objectClass,
- methods,
- sizeof(methods) / sizeof(methods[0]));
- env->DeleteLocalRef(objectClass);
-}
-
-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());
-}
diff --git a/examples/androidextras/services/servicesameprocess/qtandroidservice.h b/examples/androidextras/services/servicesameprocess/qtandroidservice.h
deleted file mode 100644
index 2bed43c..0000000
--- a/examples/androidextras/services/servicesameprocess/qtandroidservice.h
+++ /dev/null
@@ -1,75 +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:
- static QtAndroidService *m_instance;
-};
-
-#endif // QTANDROIDSERVICE_H
diff --git a/examples/androidextras/services/servicesameprocess/servicesameprocess.pro b/examples/androidextras/services/servicesameprocess/servicesameprocess.pro
deleted file mode 100644
index 643094f..0000000
--- a/examples/androidextras/services/servicesameprocess/servicesameprocess.pro
+++ /dev/null
@@ -1,24 +0,0 @@
-QT += qml quick androidextras
-
-CONFIG += c++11
-
-HEADERS += \
- qtandroidservice.h
-
-SOURCES += \
- main.cpp \
- qtandroidservice.cpp
-
-include(../common/common.pri)
-
-# Additional import path used to resolve QML modules in Qt Creator's code model
-QML_IMPORT_PATH =
-
-target.path = $$[QT_INSTALL_EXAMPLES]/androidextras/services/servicesameprocess
-INSTALLS += target
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-
-DISTFILES += \
- android/src/org/qtproject/example/qtandroidservice/QtAndroidService.java \
- android/AndroidManifest.xml
diff --git a/examples/examples.pro b/examples/examples.pro
deleted file mode 100644
index 467ccc4..0000000
--- a/examples/examples.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-TEMPLATE = subdirs
-android:SUBDIRS += androidextras