Expose invisible windows from WindowInfosListenerForTest

This is useful for tests that adds an transparent overlay and wait for
its readiness.

Bug: 226803477
Test: CtsWindowManagerDeviceTestCases:SurfaceControlViewHostTests CtsWindowManagerDeviceTestCases:WindowInputTests
Change-Id: I59ede5a38b729c756abc32fd682ef2d132098533
This commit is contained in:
Hiroki Sato
2023-04-24 11:26:59 +09:00
parent 445da6489d
commit f40af50d73
2 changed files with 7 additions and 3 deletions

View File

@@ -4156,6 +4156,7 @@ package android.window {
public static class WindowInfosListenerForTest.WindowInfo {
field @NonNull public final android.graphics.Rect bounds;
field public final boolean isTrustedOverlay;
field public final boolean isVisible;
field @NonNull public final String name;
field @NonNull public final android.os.IBinder windowToken;
}

View File

@@ -68,12 +68,18 @@ public class WindowInfosListenerForTest {
*/
public final boolean isTrustedOverlay;
/**
* True if the window is visible.
*/
public final boolean isVisible;
WindowInfo(@NonNull IBinder windowToken, @NonNull String name, @NonNull Rect bounds,
int inputConfig) {
this.windowToken = windowToken;
this.name = name;
this.bounds = bounds;
this.isTrustedOverlay = (inputConfig & InputConfig.TRUSTED_OVERLAY) != 0;
this.isVisible = (inputConfig & InputConfig.NOT_VISIBLE) == 0;
}
}
@@ -131,9 +137,6 @@ public class WindowInfosListenerForTest {
private static List<WindowInfo> buildWindowInfos(InputWindowHandle[] windowHandles) {
var windowInfos = new ArrayList<WindowInfo>(windowHandles.length);
for (var handle : windowHandles) {
if ((handle.inputConfig & InputConfig.NOT_VISIBLE) != 0) {
continue;
}
var bounds = new Rect(handle.frameLeft, handle.frameTop, handle.frameRight,
handle.frameBottom);
windowInfos.add(new WindowInfo(handle.getWindowToken(), handle.name, bounds,