diff options
| author | 2024-04-30 10:02:31 +0000 | |
|---|---|---|
| committer | 2024-04-30 10:02:31 +0000 | |
| commit | 72964985c2084ba9c630a1facf4d59b3ac950434 (patch) | |
| tree | ec4f1e4ba4c5bea2b4884dfec07d46ae818dc964 | |
| parent | 4ff9eb1e11693d6c1092ad718a2fa524d33b2bbc (diff) | |
| parent | 45fbe7800c405e6c06ef38318f8354e2e14aa4a6 (diff) | |
Merge "Add test enabling OVERRIDE_ENABLE_INSETS_DECOUPLED_CONFIGURATION" into 24D1-dev am: 45fbe7800c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/27115177
Change-Id: Icc26b0385fe50d9c702849f1fc88471443bed691
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java index ac1dc087fedb..8677738f3edc 100644 --- a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java @@ -4193,11 +4193,49 @@ public class SizeCompatTests extends WindowTestsBase { } @Test + @EnableCompatChanges({ActivityInfo.OVERRIDE_ENABLE_INSETS_DECOUPLED_CONFIGURATION}) + public void testPortraitCloseToSquareDisplayWithTaskbar_insetsOverridden_notLetterboxed() { + // Set up portrait close to square display. + setUpDisplaySizeWithApp(2200, 2280); + final DisplayContent display = mActivity.mDisplayContent; + display.setIgnoreOrientationRequest(true /* ignoreOrientationRequest */); + // Simulate insets, final app bounds are (0, 0, 2200, 2130) - landscape. + final WindowState navbar = createWindow(null, TYPE_NAVIGATION_BAR, mDisplayContent, + "navbar"); + final Binder owner = new Binder(); + navbar.mAttrs.providedInsets = new InsetsFrameProvider[] { + new InsetsFrameProvider(owner, 0, WindowInsets.Type.navigationBars()) + .setInsetsSize(Insets.of(0, 0, 0, 150)) + }; + display.getDisplayPolicy().addWindowLw(navbar, navbar.mAttrs); + assertTrue(display.getDisplayPolicy().updateDecorInsetsInfo()); + display.sendNewConfiguration(); + + final ActivityRecord activity = new ActivityBuilder(mAtm) + .setTask(mTask) + .setScreenOrientation(SCREEN_ORIENTATION_PORTRAIT) + .setComponent(ComponentName.createRelative(mContext, + SizeCompatTests.class.getName())) + .setUid(android.os.Process.myUid()) + .build(); + + // Activity should not be letterboxed and should have portrait app bounds even though + // orientation is not respected with insets as insets have been decoupled. + final Rect appBounds = activity.getWindowConfiguration().getAppBounds(); + final Rect displayBounds = display.getBounds(); + assertFalse(activity.isLetterboxedForFixedOrientationAndAspectRatio()); + assertNotNull(appBounds); + assertEquals(displayBounds.width(), appBounds.width()); + assertEquals(displayBounds.height(), appBounds.height()); + } + + @Test @DisableCompatChanges({ActivityInfo.INSETS_DECOUPLED_CONFIGURATION_ENFORCED}) public void testPortraitCloseToSquareDisplayWithTaskbar_letterboxed() { // Set up portrait close to square display setUpDisplaySizeWithApp(2200, 2280); final DisplayContent display = mActivity.mDisplayContent; + display.setIgnoreOrientationRequest(true /* ignoreOrientationRequest */); // Simulate taskbar, final app bounds are (0, 0, 2200, 2130) - landscape final WindowState navbar = createWindow(null, TYPE_NAVIGATION_BAR, mDisplayContent, "navbar"); |