Fix AccessibilityService#getWindows time out

In our design, we computes the windows for each display.
Ideally the window list is initialized  when the window observer is
created.However, if the top focus window is null, the window list
won't beupdated unless there is the windows change on that display.

In general case, most of non-default displays don't have windows, so
their window list won't be initialized. It affects that the callee
needs to wait 5 seconds for time out mechanism.

To fix it, we collects the window observers that don't receive the
callback when it is constructed. Then sending the callback to them
when the window foucs is available next time.

Bug: 169542227
Test: manually check if windows reports correctly.

Change-Id: I1a3dc780de5873062b220bd1588c855138aa3657
1 file changed