summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuha Vuolle <[email protected]>2025-04-07 13:39:34 +0300
committerJuha Vuolle <[email protected]>2025-04-24 07:03:22 +0300
commitf5b5f16bfa0bf0889c1d77af3e9840e67a2e851c (patch)
treef7d3f55b7c60953282b5add1ee86285c9983f01c
parent965af8548cb804a0edb13ce167bd9daae0da3ed0 (diff)
Make Qt for Android configurable without 'accessibility' support
The code was already partially behind the feature flag, but not fully. Pick-to: 6.9 6.8 Fixes: QTBUG-135693 Change-Id: Iad76221837aa37b90b3be998afc41ce9bbc05c55 Reviewed-by: Assam Boudjelthia <[email protected]>
-rw-r--r--src/plugins/platforms/android/CMakeLists.txt11
-rw-r--r--src/plugins/platforms/android/androidjnimain.cpp10
-rw-r--r--src/plugins/platforms/android/androidjnimain.h2
-rw-r--r--src/plugins/platforms/android/qandroidplatformintegration.cpp4
4 files changed, 23 insertions, 4 deletions
diff --git a/src/plugins/platforms/android/CMakeLists.txt b/src/plugins/platforms/android/CMakeLists.txt
index 6bdeff079b5..72ac93609f1 100644
--- a/src/plugins/platforms/android/CMakeLists.txt
+++ b/src/plugins/platforms/android/CMakeLists.txt
@@ -14,7 +14,6 @@ qt_internal_add_plugin(QAndroidIntegrationPlugin
androidcontentfileengine.cpp androidcontentfileengine.h
qandroidapkfileengine.h qandroidapkfileengine.cpp
androiddeadlockprotector.h
- androidjniaccessibility.cpp androidjniaccessibility.h
androidjniinput.cpp androidjniinput.h
androidjnimain.cpp androidjnimain.h
androidjnimenu.cpp androidjnimenu.h
@@ -22,7 +21,6 @@ qt_internal_add_plugin(QAndroidIntegrationPlugin
qandroidassetsfileenginehandler.cpp qandroidassetsfileenginehandler.h
qandroideventdispatcher.cpp qandroideventdispatcher.h
qandroidinputcontext.cpp qandroidinputcontext.h
- qandroidplatformaccessibility.cpp qandroidplatformaccessibility.h
qandroidplatformclipboard.cpp qandroidplatformclipboard.h
qandroidplatformdialoghelpers.cpp qandroidplatformdialoghelpers.h
qandroidplatformfiledialoghelper.cpp qandroidplatformfiledialoghelper.h
@@ -50,7 +48,6 @@ qt_internal_add_plugin(QAndroidIntegrationPlugin
# seems to be doing most of the work already.
androidjnimenu.cpp
qandroidinputcontext.cpp
- androidjniaccessibility.cpp
qandroidplatformdialoghelpers.cpp
# Conflicting JNI classes, and types
androidcontentfileengine.cpp
@@ -82,6 +79,14 @@ qt_internal_extend_target(QAndroidIntegrationPlugin CONDITION NOT QT_FEATURE_and
extract-dummy.cpp
)
+qt_internal_extend_target(QAndroidIntegrationPlugin CONDITION QT_FEATURE_accessibility
+ SOURCES
+ androidjniaccessibility.cpp androidjniaccessibility.h
+ qandroidplatformaccessibility.cpp qandroidplatformaccessibility.h
+ NO_UNITY_BUILD_SOURCES
+ androidjniaccessibility.cpp
+)
+
qt_internal_extend_target(QAndroidIntegrationPlugin CONDITION QT_FEATURE_vulkan
SOURCES
qandroidplatformvulkaninstance.cpp qandroidplatformvulkaninstance.h
diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp
index 59b389b7708..a2669ffc3a1 100644
--- a/src/plugins/platforms/android/androidjnimain.cpp
+++ b/src/plugins/platforms/android/androidjnimain.cpp
@@ -10,7 +10,6 @@
#include "androidcontentfileengine.h"
#include "qandroidapkfileengine.h"
#include "androiddeadlockprotector.h"
-#include "androidjniaccessibility.h"
#include "androidjniinput.h"
#include "androidjnimain.h"
#include "androidjnimenu.h"
@@ -20,6 +19,9 @@
#include "qandroidplatformdialoghelpers.h"
#include "qandroidplatformintegration.h"
#include "qandroidplatformclipboard.h"
+#if QT_CONFIG(accessibility)
+#include "androidjniaccessibility.h"
+#endif
#include "qandroidplatformscreen.h"
#include "qandroidplatformwindow.h"
@@ -88,7 +90,9 @@ static const char m_methodErrorMsg[] = "Can't find method \"%s%s\"";
Q_CONSTINIT static QBasicAtomicInt startQtAndroidPluginCalled = Q_BASIC_ATOMIC_INITIALIZER(0);
+#if QT_CONFIG(accessibility)
Q_DECLARE_JNI_CLASS(QtAccessibilityInterface, "org/qtproject/qt/android/QtAccessibilityInterface");
+#endif
namespace QtAndroid
{
@@ -174,6 +178,7 @@ namespace QtAndroid
return true;
}
+#if QT_CONFIG(accessibility)
void initializeAccessibility()
{
m_backendRegister->callInterface<QtJniTypes::QtAccessibilityInterface, void>(
@@ -215,6 +220,7 @@ namespace QtAndroid
m_backendRegister->callInterface<QtJniTypes::QtAccessibilityInterface, void>(
"notifyScrolledEvent", accessibilityObjectId);
}
+#endif //QT_CONFIG(accessibility)
void notifyNativePluginIntegrationReady(bool ready)
{
@@ -781,7 +787,9 @@ static bool registerNatives(QJniEnvironment &env)
success = success
&& QtAndroidInput::registerNatives(env)
&& QtAndroidMenu::registerNatives(env)
+#if QT_CONFIG(accessibility)
&& QtAndroidAccessibility::registerNatives(env)
+#endif
&& QtAndroidDialogHelpers::registerNatives(env)
&& QAndroidPlatformClipboard::registerNatives(env)
&& QAndroidPlatformWindow::registerNatives(env)
diff --git a/src/plugins/platforms/android/androidjnimain.h b/src/plugins/platforms/android/androidjnimain.h
index 7711bc95112..3b1aea1d015 100644
--- a/src/plugins/platforms/android/androidjnimain.h
+++ b/src/plugins/platforms/android/androidjnimain.h
@@ -52,6 +52,7 @@ namespace QtAndroid
jobject createBitmap(int width, int height, QImage::Format format, JNIEnv *env);
jobject createBitmapDrawable(jobject bitmap, JNIEnv *env = nullptr);
+#if QT_CONFIG(accessibility)
void initializeAccessibility();
void notifyAccessibilityLocationChange(uint accessibilityObjectId);
void notifyObjectHide(uint accessibilityObjectId, uint parentObjectId);
@@ -59,6 +60,7 @@ namespace QtAndroid
void notifyObjectFocus(uint accessibilityObjectId);
void notifyValueChanged(uint accessibilityObjectId, jstring value);
void notifyScrolledEvent(uint accessibilityObjectId);
+#endif
void notifyNativePluginIntegrationReady(bool ready);
const char *classErrorMsgFmt();
diff --git a/src/plugins/platforms/android/qandroidplatformintegration.cpp b/src/plugins/platforms/android/qandroidplatformintegration.cpp
index 7c9e5193a92..be7fcddf6ee 100644
--- a/src/plugins/platforms/android/qandroidplatformintegration.cpp
+++ b/src/plugins/platforms/android/qandroidplatformintegration.cpp
@@ -4,11 +4,15 @@
#include "qandroidplatformintegration.h"
+#if QT_CONFIG(accessibility)
#include "androidjniaccessibility.h"
+#endif
#include "androidjnimain.h"
#include "qabstracteventdispatcher.h"
#include "qandroideventdispatcher.h"
+#if QT_CONFIG(accessibility)
#include "qandroidplatformaccessibility.h"
+#endif
#include "qandroidplatformclipboard.h"
#include "qandroidplatformfontdatabase.h"
#include "qandroidplatformforeignwindow.h"