diff --git a/src/android/jar/CMakeLists.txt b/src/android/jar/CMakeLists.txt index 3a3144a41c7..31e09458d04 100644 --- a/src/android/jar/CMakeLists.txt +++ b/src/android/jar/CMakeLists.txt @@ -24,6 +24,7 @@ set(java_sources src/org/qtproject/qt/android/extras//QtAndroidBinder.java src/org/qtproject/qt/android/extras/QtAndroidServiceConnection.java src/org/qtproject/qt/android/extras/QtNative.java + src/org/qtproject/qt/android/QtConstants.java ) qt_internal_add_jar(Qt${QtBase_VERSION_MAJOR}Android diff --git a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java index 2d93586db0a..cc6aed569fc 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java @@ -66,6 +66,7 @@ import java.util.HashMap; import java.util.Objects; import org.qtproject.qt.android.accessibility.QtAccessibilityDelegate; +import static org.qtproject.qt.android.QtConstants.*; public class QtActivityDelegate { @@ -81,13 +82,6 @@ public class QtActivityDelegate private Method m_super_dispatchGenericMotionEvent = null; private Method m_super_onWindowFocusChanged = null; - private static final String NATIVE_LIBRARIES_KEY = "native.libraries"; - private static final String BUNDLED_LIBRARIES_KEY = "bundled.libraries"; - private static final String MAIN_LIBRARY_KEY = "main.library"; - private static final String ENVIRONMENT_VARIABLES_KEY = "environment.variables"; - private static final String APPLICATION_PARAMETERS_KEY = "application.parameters"; - private static final String STATIC_INIT_CLASSES_KEY = "static.init.classes"; - // Keep in sync with QtAndroid::SystemUiVisibility in androidjnimain.h public static final int SYSTEM_UI_VISIBILITY_NORMAL = 0; public static final int SYSTEM_UI_VISIBILITY_FULLSCREEN = 1; @@ -222,13 +216,6 @@ public class QtActivityDelegate private final int EnterKeyNext = 6; private final int EnterKeyPrevious = 7; - // application state - public static final int ApplicationSuspended = 0x0; - public static final int ApplicationHidden = 0x1; - public static final int ApplicationInactive = 0x2; - public static final int ApplicationActive = 0x4; - - public boolean setKeyboardVisibility(boolean visibility, long timeStamp) { if (m_showHideTimeStamp > timeStamp) @@ -1037,12 +1024,12 @@ public class QtActivityDelegate public void onPause() { if (Build.VERSION.SDK_INT < 24 || !m_activity.isInMultiWindowMode()) - QtNative.setApplicationState(ApplicationInactive); + QtNative.setApplicationState(ApplicationState.ApplicationInactive); } public void onResume() { - QtNative.setApplicationState(ApplicationActive); + QtNative.setApplicationState(ApplicationState.ApplicationActive); if (m_started) { QtNative.updateWindow(); updateFullScreen(); // Suspending the app clears the immersive mode, so we need to set it again. @@ -1068,7 +1055,7 @@ public class QtActivityDelegate public void onStop() { - QtNative.setApplicationState(ApplicationSuspended); + QtNative.setApplicationState(ApplicationState.ApplicationSuspended); } public Object onRetainNonConfigurationInstance() diff --git a/src/android/jar/src/org/qtproject/qt/android/QtConstants.java b/src/android/jar/src/org/qtproject/qt/android/QtConstants.java new file mode 100644 index 00000000000..252360fc9ab --- /dev/null +++ b/src/android/jar/src/org/qtproject/qt/android/QtConstants.java @@ -0,0 +1,28 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +package org.qtproject.qt.android; + +public class QtConstants { + public static final String ERROR_CODE_KEY = "error.code"; + public static final String ERROR_MESSAGE_KEY = "error.message"; + public static final String DEX_PATH_KEY = "dex.path"; + public static final String LIB_PATH_KEY = "lib.path"; + public static final String LOADER_CLASS_NAME_KEY = "loader.class.name"; + public static final String NATIVE_LIBRARIES_KEY = "native.libraries"; + public static final String ENVIRONMENT_VARIABLES_KEY = "environment.variables"; + public static final String APPLICATION_PARAMETERS_KEY = "application.parameters"; + public static final String BUNDLED_LIBRARIES_KEY = "bundled.libraries"; + public static final String MAIN_LIBRARY_KEY = "main.library"; + public static final String STATIC_INIT_CLASSES_KEY = "static.init.classes"; + public static final String EXTRACT_STYLE_KEY = "extract.android.style"; + public static final String EXTRACT_STYLE_MINIMAL_KEY = "extract.android.style.option"; + + // Application states + public static class ApplicationState { + public static final int ApplicationSuspended = 0x0; + public static final int ApplicationHidden = 0x1; + public static final int ApplicationInactive = 0x2; + public static final int ApplicationActive = 0x4; + } +} diff --git a/src/android/jar/src/org/qtproject/qt/android/QtLoader.java b/src/android/jar/src/org/qtproject/qt/android/QtLoader.java index 3a1052b98fc..168ce15ea39 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtLoader.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtLoader.java @@ -27,22 +27,11 @@ import java.util.List; import dalvik.system.DexClassLoader; +import static org.qtproject.qt.android.QtConstants.*; + public abstract class QtLoader { static String QtTAG = "Qt"; - public static final String ERROR_CODE_KEY = "error.code"; - public static final String ERROR_MESSAGE_KEY = "error.message"; - public static final String DEX_PATH_KEY = "dex.path"; - public static final String LIB_PATH_KEY = "lib.path"; - public static final String LOADER_CLASS_NAME_KEY = "loader.class.name"; - public static final String NATIVE_LIBRARIES_KEY = "native.libraries"; - public static final String ENVIRONMENT_VARIABLES_KEY = "environment.variables"; - public static final String APPLICATION_PARAMETERS_KEY = "application.parameters"; - public static final String BUNDLED_LIBRARIES_KEY = "bundled.libraries"; - public static final String MAIN_LIBRARY_KEY = "main.library"; - public static final String STATIC_INIT_CLASSES_KEY = "static.init.classes"; - public static final String EXTRACT_STYLE_KEY = "extract.android.style"; - private static final String EXTRACT_STYLE_MINIMAL_KEY = "extract.android.style.option"; // These parameters matter in case of deploying application as system (embedded into firmware) public static final String SYSTEM_LIB_PATH = "/system/lib/"; diff --git a/src/android/jar/src/org/qtproject/qt/android/QtNative.java b/src/android/jar/src/org/qtproject/qt/android/QtNative.java index 260e6d414e5..6d6dfc4dda9 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtNative.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtNative.java @@ -338,7 +338,7 @@ public class QtNative { synchronized (m_mainActivityMutex) { switch (state) { - case QtActivityDelegate.ApplicationActive: + case QtConstants.ApplicationState.ApplicationActive: m_activityPaused = false; Iterator itr = m_lostActions.iterator(); while (itr.hasNext()) diff --git a/src/android/jar/src/org/qtproject/qt/android/QtServiceDelegate.java b/src/android/jar/src/org/qtproject/qt/android/QtServiceDelegate.java index 4836985cfc1..0670f66756c 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtServiceDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtServiceDelegate.java @@ -50,19 +50,10 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Objects; +import static org.qtproject.qt.android.QtConstants.*; + public class QtServiceDelegate { - private static final String NATIVE_LIBRARIES_KEY = "native.libraries"; - private static final String BUNDLED_LIBRARIES_KEY = "bundled.libraries"; - private static final String MAIN_LIBRARY_KEY = "main.library"; - private static final String ENVIRONMENT_VARIABLES_KEY = "environment.variables"; - private static final String APPLICATION_PARAMETERS_KEY = "application.parameters"; - private static final String STATIC_INIT_CLASSES_KEY = "static.init.classes"; - private static final String APP_DISPLAY_METRIC_SCREEN_DESKTOP_KEY = "display.screen.desktop"; - private static final String APP_DISPLAY_METRIC_SCREEN_XDPI_KEY = "display.screen.dpi.x"; - private static final String APP_DISPLAY_METRIC_SCREEN_YDPI_KEY = "display.screen.dpi.y"; - private static final String APP_DISPLAY_METRIC_SCREEN_DENSITY_KEY = "display.screen.density"; - private String m_mainLib = null; private Service m_service = null; private static String m_applicationParameters = null;