diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2022-05-10 16:01:48 +0200 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2022-05-16 15:16:35 +0200 |
commit | 0613146d210e494bf98e0e4de97e03fc5021736e (patch) | |
tree | a0742b5462c4ae80b4b42677cba8cdcce3eb5a61 /src/plugins/platforms/android/androidjnimain.h | |
parent | 53ee4c8b1f7ae72e7005166e1c0dbc4659f2ab32 (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
Pick-to: 6.3 6.2 5.15
Change-Id: I6b941733c9d215fed5ee5a7aeeb5be234add9ebe
Reviewed-by: Mike Achtelik <mike.achtelik@gmail.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/plugins/platforms/android/androidjnimain.h')
-rw-r--r-- | src/plugins/platforms/android/androidjnimain.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/platforms/android/androidjnimain.h b/src/plugins/platforms/android/androidjnimain.h index d8e40f8b7f..288d2b95b2 100644 --- a/src/plugins/platforms/android/androidjnimain.h +++ b/src/plugins/platforms/android/androidjnimain.h @@ -100,7 +100,7 @@ namespace QtAndroid jobject createBitmap(int width, int height, QImage::Format format, JNIEnv *env); jobject createBitmapDrawable(jobject bitmap, JNIEnv *env = nullptr); - void notifyAccessibilityLocationChange(); + void notifyAccessibilityLocationChange(uint accessibilityObjectId); void notifyObjectHide(uint accessibilityObjectId, uint parentObjectId); void notifyObjectFocus(uint accessibilityObjectId); void notifyValueChanged(uint accessibilityObjectId, jstring value); |