Gets node bound when the FLAG_RETRIEVE_INTERACTIVE_WINDOWS is unset

Since the WindowInfo is null if the FLAG_RETRIEVE_INTERACTIVE_WINDOWS is
unset, we would fail to calculate the node bound correctly.

The reason behind this failure is that the accessibility framework only
tracks windows when the FLAG_RETRIEVE_INTERACTIVE_WINDOWS is set.

As being a short term solution, we could retrieve the transformation matrix
and magnification spec from WindowState, making us have this CL.

However, as a long term solution, we should keep tracking WindowInfo in
DisplayWindowsObserver whether the flag is set or unset and mitigate the
additional system overhead.

Bug: 229379635
Test: atest android.accessibilityservice.cts
      atest com.android.server.accessibility
      We use a test apk to test the node bound value when the flag is
      unset equals to the value from WindowInfo when the flag is set.
Change-Id: I02e7e74d027dc65605f5e8fcc10d3c808e316476
6 files changed