Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e16a5009 authored by Svetoslav's avatar Svetoslav Committed by Svetoslav Ganov
Browse files

Accessibility window changes not reported.

On accessibility service side we were asking only for cached windows but since
to optimize performance the system is sending only deltas for windows the service
already introspected, new windows were not seen by the accessibility service.

bug:15092286

Change-Id: I7e9c360f624c53ff1773c485a8907dc425e3352a
parent 937c4dbb
Loading
Loading
Loading
Loading
+5 −11
Original line number Diff line number Diff line
@@ -225,17 +225,11 @@ public final class AccessibilityInteractionClient
        try {
            IAccessibilityServiceConnection connection = getConnection(connectionId);
            if (connection != null) {
                List<AccessibilityWindowInfo> windows = sAccessibilityCache.getWindows();
                if (windows != null) {
                    if (DEBUG) {
                        Log.i(LOG_TAG, "Window cache hit");
                    }
                    return windows;
                }
                if (DEBUG) {
                    Log.i(LOG_TAG, "Window cache miss");
                }
                windows = connection.getWindows();
                // The system is just sending data for windows that we introspected
                // and changed but not ones that appeared, so we have to always call
                // into the system process. This is less expensice as opposed to
                // sending all windows on every window change.
                List<AccessibilityWindowInfo> windows = connection.getWindows();
                if (windows != null) {
                    final int windowCount = windows.size();
                    for (int i = 0; i < windowCount; i++) {