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

Commit f40af50d authored by Hiroki Sato's avatar Hiroki Sato
Browse files

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
parent 445da648
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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;
  }
+6 −3
Original line number Diff line number Diff line
@@ -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,