From 0613146d210e494bf98e0e4de97e03fc5021736e Mon Sep 17 00:00:00 2001 From: Ivan Solovev Date: Tue, 10 May 2022 16:01:48 +0200 Subject: Android A11Y: handle LocationChanged event only for focused element MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit LocationChanged event unconditionally triggered invalidateVirtualViewId call. That call results in TYPE_WINDOW_CONTENT_CHANGED Android event, which causes a lot of background processing. That is not correct, because LocationChanged event is generated by every accessible element, not only the one that has A11Y focus. This patch checks event->uniqueId(), and processes only events that come from the focused accessible element. Done-with: Mike Achtelik Task-number: QTBUG-102594 Pick-to: 6.3 6.2 5.15 Change-Id: I6b941733c9d215fed5ee5a7aeeb5be234add9ebe Reviewed-by: Mike Achtelik Reviewed-by: Jan Arve Sæther --- .../java/src/org/qtproject/qt/android/bindings/QtActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/android/java/src/org/qtproject/qt/android/bindings/QtActivity.java') 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 0242f05693..47b500fbf3 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 @@ -1133,9 +1133,9 @@ public class QtActivity extends Activity QtNative.activityDelegate().updateSelection(selStart, selEnd, candidatesStart, candidatesEnd); } - public void notifyAccessibilityLocationChange() + public void notifyAccessibilityLocationChange(int viewId) { - QtNative.activityDelegate().notifyAccessibilityLocationChange(); + QtNative.activityDelegate().notifyAccessibilityLocationChange(viewId); } public void notifyObjectHide(int viewId, int parentId) -- cgit v1.2.3