summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java4
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtNative.java4
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/accessibility/QtAccessibilityDelegate.java3
-rw-r--r--src/android/java/src/org/qtproject/qt/android/bindings/QtActivity.java4
-rw-r--r--src/plugins/platforms/android/androidjniaccessibility.cpp6
-rw-r--r--src/plugins/platforms/android/androidjnimain.cpp5
-rw-r--r--src/plugins/platforms/android/androidjnimain.h2
7 files changed, 16 insertions, 12 deletions
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 8cf71597e4..83f86b0d97 100644
--- a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java
+++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java
@@ -907,11 +907,11 @@ public class QtActivityDelegate
m_accessibilityDelegate.notifyLocationChange();
}
- public void notifyObjectHide(int viewId)
+ public void notifyObjectHide(int viewId, int parentId)
{
if (m_accessibilityDelegate == null)
return;
- m_accessibilityDelegate.notifyObjectHide(viewId);
+ m_accessibilityDelegate.notifyObjectHide(viewId, parentId);
}
public void notifyObjectFocus(int viewId)
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 11b27f96c0..ccf18ca0a6 100644
--- a/src/android/jar/src/org/qtproject/qt/android/QtNative.java
+++ b/src/android/jar/src/org/qtproject/qt/android/QtNative.java
@@ -974,13 +974,13 @@ public class QtNative
});
}
- private static void notifyObjectHide(final int viewId)
+ private static void notifyObjectHide(final int viewId, final int parentId)
{
runAction(new Runnable() {
@Override
public void run() {
if (m_activityDelegate != null) {
- m_activityDelegate.notifyObjectHide(viewId);
+ m_activityDelegate.notifyObjectHide(viewId, parentId);
}
}
});
diff --git a/src/android/jar/src/org/qtproject/qt/android/accessibility/QtAccessibilityDelegate.java b/src/android/jar/src/org/qtproject/qt/android/accessibility/QtAccessibilityDelegate.java
index e75682c654..72c1e4f023 100644
--- a/src/android/jar/src/org/qtproject/qt/android/accessibility/QtAccessibilityDelegate.java
+++ b/src/android/jar/src/org/qtproject/qt/android/accessibility/QtAccessibilityDelegate.java
@@ -196,7 +196,7 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate
invalidateVirtualViewId(m_focusedVirtualViewId);
}
- public void notifyObjectHide(int viewId)
+ public void notifyObjectHide(int viewId, int parentId)
{
// If the object had accessibility focus, we need to clear it.
// Note: This code is mostly copied from
@@ -210,7 +210,6 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate
}
// When the object is hidden, we need to notify its parent about
// content change, not the hidden object itself
- final int parentId = QtNativeAccessibility.parentId(viewId);
invalidateVirtualViewId(parentId);
}
diff --git a/src/android/java/src/org/qtproject/qt/android/bindings/QtActivity.java b/src/android/java/src/org/qtproject/qt/android/bindings/QtActivity.java
index 9bfa8738b6..e4073948de 100644
--- a/src/android/java/src/org/qtproject/qt/android/bindings/QtActivity.java
+++ b/src/android/java/src/org/qtproject/qt/android/bindings/QtActivity.java
@@ -1138,9 +1138,9 @@ public class QtActivity extends Activity
QtNative.activityDelegate().notifyAccessibilityLocationChange();
}
- public void notifyObjectHide(int viewId)
+ public void notifyObjectHide(int viewId, int parentId)
{
- QtNative.activityDelegate().notifyObjectHide(viewId);
+ QtNative.activityDelegate().notifyObjectHide(viewId, parentId);
}
public void notifyObjectFocus(int viewId)
diff --git a/src/plugins/platforms/android/androidjniaccessibility.cpp b/src/plugins/platforms/android/androidjniaccessibility.cpp
index 62460f5e6d..10a71bca4a 100644
--- a/src/plugins/platforms/android/androidjniaccessibility.cpp
+++ b/src/plugins/platforms/android/androidjniaccessibility.cpp
@@ -113,9 +113,13 @@ namespace QtAndroidAccessibility
QtAndroid::notifyAccessibilityLocationChange();
}
+ static jint parentId(JNIEnv *, jobject, jint objectId); // forward declaration
+
void notifyObjectHide(uint accessibilityObjectId)
{
- QtAndroid::notifyObjectHide(accessibilityObjectId);
+ jobject unused {};
+ const auto parentObjectId = parentId(nullptr, unused, accessibilityObjectId);
+ QtAndroid::notifyObjectHide(accessibilityObjectId, parentObjectId);
}
void notifyObjectFocus(uint accessibilityObjectId)
diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp
index e99dca17a2..9816dfb93e 100644
--- a/src/plugins/platforms/android/androidjnimain.cpp
+++ b/src/plugins/platforms/android/androidjnimain.cpp
@@ -215,9 +215,10 @@ namespace QtAndroid
QJniObject::callStaticMethod<void>(m_applicationClass, "notifyAccessibilityLocationChange");
}
- void notifyObjectHide(uint accessibilityObjectId)
+ void notifyObjectHide(uint accessibilityObjectId, uint parentObjectId)
{
- QJniObject::callStaticMethod<void>(m_applicationClass, "notifyObjectHide","(I)V", accessibilityObjectId);
+ QJniObject::callStaticMethod<void>(m_applicationClass, "notifyObjectHide", "(II)V",
+ accessibilityObjectId, parentObjectId);
}
void notifyObjectFocus(uint accessibilityObjectId)
diff --git a/src/plugins/platforms/android/androidjnimain.h b/src/plugins/platforms/android/androidjnimain.h
index c7dd5c0ca0..5ebf8c5048 100644
--- a/src/plugins/platforms/android/androidjnimain.h
+++ b/src/plugins/platforms/android/androidjnimain.h
@@ -101,7 +101,7 @@ namespace QtAndroid
jobject createBitmapDrawable(jobject bitmap, JNIEnv *env = nullptr);
void notifyAccessibilityLocationChange();
- void notifyObjectHide(uint accessibilityObjectId);
+ void notifyObjectHide(uint accessibilityObjectId, uint parentObjectId);
void notifyObjectFocus(uint accessibilityObjectId);
void notifyQtAndroidPluginRunning(bool running);