summaryrefslogtreecommitdiffstats
path: root/src/android/java/src/org/qtproject/qt/android/bindings/QtService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/java/src/org/qtproject/qt/android/bindings/QtService.java')
-rw-r--r--src/android/java/src/org/qtproject/qt/android/bindings/QtService.java174
1 files changed, 5 insertions, 169 deletions
diff --git a/src/android/java/src/org/qtproject/qt/android/bindings/QtService.java b/src/android/java/src/org/qtproject/qt/android/bindings/QtService.java
index 06616391f0..6569446901 100644
--- a/src/android/java/src/org/qtproject/qt/android/bindings/QtService.java
+++ b/src/android/java/src/org/qtproject/qt/android/bindings/QtService.java
@@ -1,180 +1,16 @@
-/*
- Copyright (c) 2016, BogDan Vatra <bogdan@kde.org>
- Contact: http://www.qt.io/licensing/
-
- 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 http://www.qt.io/terms-conditions. For further
- information use the contact form at http://www.qt.io/contact-us.
-
- BSD License Usage
- Alternatively, this file may be used under 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:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. 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.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
-*/
+// Copyright (C) 2023 The Qt Company Ltd.
+// Copyright (c) 2016, BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
package org.qtproject.qt.android.bindings;
-import android.app.Service;
-import android.util.Log;
-import android.content.Intent;
-import android.content.res.Configuration;
-import android.os.Bundle;
-import android.os.IBinder;
+import org.qtproject.qt.android.QtServiceBase;
-import org.qtproject.qt.android.QtNative;
-
-public class QtService extends Service
+public class QtService extends QtServiceBase
{
- QtServiceLoader m_loader = new QtServiceLoader(this);
-
-
- /////////////////////////// forward all notifications ////////////////////////////
- /////////////////////////// Super class calls ////////////////////////////////////
- /////////////// PLEASE DO NOT CHANGE THE FOLLOWING CODE //////////////////////////
- //////////////////////////////////////////////////////////////////////////////////
- protected void onCreateHook() {
- // the application has already started
- // do not reload everything again
- if (QtNative.isStarted()) {
- m_loader = null;
- Log.w(QtNative.QtTAG,
- "A QtService tried to start in the same process as an initiated " +
- "QtActivity. That is not supported. This results in the service " +
- "functioning as an Android Service detached from Qt.");
- } else {
- m_loader.onCreate();
- }
- }
@Override
public void onCreate()
{
super.onCreate();
- onCreateHook();
- }
- //---------------------------------------------------------------------------
-
- @Override
- public void onDestroy()
- {
- super.onDestroy();
- QtApplication.invokeDelegate();
- }
- //---------------------------------------------------------------------------
-
- @Override
- public IBinder onBind(Intent intent)
- {
- QtApplication.InvokeResult res = QtApplication.invokeDelegate(intent);
- if (res.invoked)
- return (IBinder)res.methodReturns;
- else
- return null;
- }
- //---------------------------------------------------------------------------
-
- @Override
- public void onConfigurationChanged(Configuration newConfig)
- {
- if (!QtApplication.invokeDelegate(newConfig).invoked)
- super.onConfigurationChanged(newConfig);
- }
- public void super_onConfigurationChanged(Configuration newConfig)
- {
- super.onConfigurationChanged(newConfig);
- }
- //---------------------------------------------------------------------------
-
- @Override
- public void onLowMemory()
- {
- if (!QtApplication.invokeDelegate().invoked)
- super.onLowMemory();
- }
- //---------------------------------------------------------------------------
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId)
- {
- QtApplication.InvokeResult res = QtApplication.invokeDelegate(intent, flags, startId);
- if (res.invoked)
- return (Integer) res.methodReturns;
- else
- return super.onStartCommand(intent, flags, startId);
- }
- public int super_onStartCommand(Intent intent, int flags, int startId)
- {
- return super.onStartCommand(intent, flags, startId);
- }
- //---------------------------------------------------------------------------
-
- @Override
- public void onTaskRemoved(Intent rootIntent)
- {
- if (!QtApplication.invokeDelegate(rootIntent).invoked)
- super.onTaskRemoved(rootIntent);
- }
- public void super_onTaskRemoved(Intent rootIntent)
- {
- super.onTaskRemoved(rootIntent);
- }
- //---------------------------------------------------------------------------
-
- @Override
- public void onTrimMemory(int level)
- {
- if (!QtApplication.invokeDelegate(level).invoked)
- super.onTrimMemory(level);
- }
- public void super_onTrimMemory(int level)
- {
- super.onTrimMemory(level);
- }
- //---------------------------------------------------------------------------
-
- @Override
- public boolean onUnbind(Intent intent)
- {
- QtApplication.InvokeResult res = QtApplication.invokeDelegate(intent);
- if (res.invoked)
- return (Boolean) res.methodReturns;
- else
- return super.onUnbind(intent);
- }
- public boolean super_onUnbind(Intent intent)
- {
- return super.onUnbind(intent);
- }
- //---------------------------------------------------------------------------
-
- public boolean loadApplication(Service service, ClassLoader classLoader, Bundle loaderParams)
- {
- return QtNative.serviceDelegate().loadApplication(service, classLoader, loaderParams);
- }
-
- public boolean startApplication()
- {
- return QtNative.serviceDelegate().startApplication();
}
}