diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2022-05-17 10:17:48 +0200 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2022-05-17 15:50:24 +0200 |
commit | d550a99505c61d6d72049e7e4c92c1edb4b90d7d (patch) | |
tree | e485675356a3a3093e870b4bf1a32dbd05f71758 /src/android/java/src/org/qtproject | |
parent | 1af04d67bdf5cb973e46f84cbab28a7a89bab543 (diff) |
Android A11Y: handle LocationChanged event only for focused element
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 <mike.achtelik@gmail.com>
Task-number: QTBUG-102594
Change-Id: I6b941733c9d215fed5ee5a7aeeb5be234add9ebe
Reviewed-by: Mike Achtelik <mike.achtelik@gmail.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit 0613146d210e494bf98e0e4de97e03fc5021736e)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'src/android/java/src/org/qtproject')
-rw-r--r-- | src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java index 5b3e330282..dd94d6267a 100644 --- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java +++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java @@ -1122,9 +1122,9 @@ public class QtActivity extends Activity QtNative.activityDelegate().setFullScreen(enterFullScreen); } - public void notifyAccessibilityLocationChange() + public void notifyAccessibilityLocationChange(int viewId) { - QtNative.activityDelegate().notifyAccessibilityLocationChange(); + QtNative.activityDelegate().notifyAccessibilityLocationChange(viewId); } public void notifyObjectHide(int viewId, int parentId) |