Loading services/core/java/com/android/server/wm/LetterboxUiController.java +0 −5 Original line number Diff line number Diff line Loading @@ -325,11 +325,6 @@ final class LetterboxUiController { : mAppCompatConfiguration.getLetterboxVerticalPositionMultiplier(tabletopMode); } float getFixedOrientationLetterboxAspectRatio(@NonNull Configuration parentConfiguration) { return mActivityRecord.mAppCompatController.getAppCompatAspectRatioOverrides() .getFixedOrientationLetterboxAspectRatio(parentConfiguration); } boolean isLetterboxEducationEnabled() { return mAppCompatConfiguration.getIsEducationEnabled(); } Loading services/tests/wmtests/src/com/android/server/wm/AppCompatAspectRatioOverridesTest.java +41 −1 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import android.compat.testing.PlatformCompatChangeRule; import android.platform.test.annotations.Presubmit; Loading Loading @@ -246,7 +247,6 @@ public class AppCompatAspectRatioOverridesTest extends WindowTestsBase { }); } @Test @EnableCompatChanges({OVERRIDE_MIN_ASPECT_RATIO}) public void testshouldOverrideMinAspectRatio_propertyFalse_overrideEnabled_returnsFalse() { Loading @@ -269,6 +269,24 @@ public class AppCompatAspectRatioOverridesTest extends WindowTestsBase { }); } @Test public void testGetFixedOrientationLetterboxAspectRatio_splitScreenAspectEnabled() { runTestScenario((robot)-> { robot.applyOnConf((c) -> { c.enableCameraCompatTreatment(/* enabled */ true); c.enableCameraCompatTreatmentAtBuildTime(/* enabled */ true); c.enableCameraCompatSplitScreenAspectRatio(/* enabled */ true); c.enableDisplayAspectRatioEnabledForFixedOrientationLetterbox(/* enabled */ false); c.setFixedOrientationLetterboxAspectRatio(/* aspectRatio */ 1.5f); }); robot.activity().createActivityWithComponentInNewTaskAndDisplay(); robot.checkFixedOrientationLetterboxAspectRatioForTopParent(/* expected */ 1.5f); robot.activity().enableTreatmentForTopActivity(/* enabled */ true); robot.checkAspectRatioForTopParentIsSplitScreenRatio(/* expected */ true); }); } /** * Runs a test scenario providing a Robot. */ Loading Loading @@ -308,6 +326,28 @@ public class AppCompatAspectRatioOverridesTest extends WindowTestsBase { } @NonNull void checkFixedOrientationLetterboxAspectRatioForTopParent(float expected) { assertEquals(expected, getTopActivityAppCompatAspectRatioOverrides() .getFixedOrientationLetterboxAspectRatio( activity().top().getParent().getConfiguration()), FLOAT_TOLLERANCE); } void checkAspectRatioForTopParentIsSplitScreenRatio(boolean expected) { final AppCompatAspectRatioOverrides aspectRatioOverrides = getTopActivityAppCompatAspectRatioOverrides(); if (expected) { assertEquals(aspectRatioOverrides.getSplitScreenAspectRatio(), aspectRatioOverrides.getFixedOrientationLetterboxAspectRatio( activity().top().getParent().getConfiguration()), FLOAT_TOLLERANCE); } else { assertNotEquals(aspectRatioOverrides.getSplitScreenAspectRatio(), aspectRatioOverrides.getFixedOrientationLetterboxAspectRatio( activity().top().getParent().getConfiguration()), FLOAT_TOLLERANCE); } } private AppCompatAspectRatioOverrides getTopActivityAppCompatAspectRatioOverrides() { return activity().top().mAppCompatController.getAppCompatAspectRatioOverrides(); } Loading services/tests/wmtests/src/com/android/server/wm/AppCompatConfigurationRobot.java +10 −0 Original line number Diff line number Diff line Loading @@ -70,4 +70,14 @@ class AppCompatConfigurationRobot { void enableCompatFakeFocus(boolean enabled) { doReturn(enabled).when(mAppCompatConfiguration).isCompatFakeFocusEnabled(); } void enableDisplayAspectRatioEnabledForFixedOrientationLetterbox(boolean enabled) { doReturn(enabled).when(mAppCompatConfiguration) .getIsDisplayAspectRatioEnabledForFixedOrientationLetterbox(); } void setFixedOrientationLetterboxAspectRatio(float aspectRatio) { doReturn(aspectRatio).when(mAppCompatConfiguration) .getFixedOrientationLetterboxAspectRatio(); } } services/tests/wmtests/src/com/android/server/wm/AppCompatRobotBase.java +2 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ abstract class AppCompatRobotBase { private static final int DEFAULT_DISPLAY_WIDTH = 1000; private static final int DEFAULT_DISPLAY_HEIGHT = 2000; static final float FLOAT_TOLLERANCE = 0.01f; @NonNull private final AppCompatActivityRobot mActivityRobot; @NonNull Loading services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java +0 −32 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.server.wm; import static android.view.InsetsSource.FLAG_INSETS_ROUNDED_CORNER; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.eq; import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; Loading Loading @@ -296,37 +295,6 @@ public class LetterboxUiControllerTest extends WindowTestsBase { return mainWindow; } @Test public void testgetFixedOrientationLetterboxAspectRatio_splitScreenAspectEnabled() { doReturn(true).when(mActivity.mWmService.mAppCompatConfiguration) .isCameraCompatTreatmentEnabled(); doReturn(true).when(mActivity.mWmService.mAppCompatConfiguration) .isCameraCompatTreatmentEnabledAtBuildTime(); doReturn(true).when(mActivity.mWmService.mAppCompatConfiguration) .isCameraCompatSplitScreenAspectRatioEnabled(); doReturn(false).when(mActivity.mWmService.mAppCompatConfiguration) .getIsDisplayAspectRatioEnabledForFixedOrientationLetterbox(); doReturn(1.5f).when(mActivity.mWmService.mAppCompatConfiguration) .getFixedOrientationLetterboxAspectRatio(); // Recreate DisplayContent with DisplayRotationCompatPolicy mActivity = setUpActivityWithComponent(); mController = new LetterboxUiController(mWm, mActivity); assertEquals(1.5f, mController.getFixedOrientationLetterboxAspectRatio( mActivity.getParent().getConfiguration()), /* delta */ 0.01); spyOn(mDisplayContent.mAppCompatCameraPolicy); doReturn(true).when(mDisplayContent.mAppCompatCameraPolicy) .isTreatmentEnabledForActivity(eq(mActivity)); final AppCompatAspectRatioOverrides aspectRatioOverrides = mActivity.mAppCompatController.getAppCompatAspectRatioOverrides(); assertEquals(aspectRatioOverrides.getSplitScreenAspectRatio(), aspectRatioOverrides.getFixedOrientationLetterboxAspectRatio( mActivity.getParent().getConfiguration()), /* delta */ 0.01); } @Test public void testIsVerticalThinLetterboxed() { // Vertical thin letterbox disabled Loading Loading
services/core/java/com/android/server/wm/LetterboxUiController.java +0 −5 Original line number Diff line number Diff line Loading @@ -325,11 +325,6 @@ final class LetterboxUiController { : mAppCompatConfiguration.getLetterboxVerticalPositionMultiplier(tabletopMode); } float getFixedOrientationLetterboxAspectRatio(@NonNull Configuration parentConfiguration) { return mActivityRecord.mAppCompatController.getAppCompatAspectRatioOverrides() .getFixedOrientationLetterboxAspectRatio(parentConfiguration); } boolean isLetterboxEducationEnabled() { return mAppCompatConfiguration.getIsEducationEnabled(); } Loading
services/tests/wmtests/src/com/android/server/wm/AppCompatAspectRatioOverridesTest.java +41 −1 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import android.compat.testing.PlatformCompatChangeRule; import android.platform.test.annotations.Presubmit; Loading Loading @@ -246,7 +247,6 @@ public class AppCompatAspectRatioOverridesTest extends WindowTestsBase { }); } @Test @EnableCompatChanges({OVERRIDE_MIN_ASPECT_RATIO}) public void testshouldOverrideMinAspectRatio_propertyFalse_overrideEnabled_returnsFalse() { Loading @@ -269,6 +269,24 @@ public class AppCompatAspectRatioOverridesTest extends WindowTestsBase { }); } @Test public void testGetFixedOrientationLetterboxAspectRatio_splitScreenAspectEnabled() { runTestScenario((robot)-> { robot.applyOnConf((c) -> { c.enableCameraCompatTreatment(/* enabled */ true); c.enableCameraCompatTreatmentAtBuildTime(/* enabled */ true); c.enableCameraCompatSplitScreenAspectRatio(/* enabled */ true); c.enableDisplayAspectRatioEnabledForFixedOrientationLetterbox(/* enabled */ false); c.setFixedOrientationLetterboxAspectRatio(/* aspectRatio */ 1.5f); }); robot.activity().createActivityWithComponentInNewTaskAndDisplay(); robot.checkFixedOrientationLetterboxAspectRatioForTopParent(/* expected */ 1.5f); robot.activity().enableTreatmentForTopActivity(/* enabled */ true); robot.checkAspectRatioForTopParentIsSplitScreenRatio(/* expected */ true); }); } /** * Runs a test scenario providing a Robot. */ Loading Loading @@ -308,6 +326,28 @@ public class AppCompatAspectRatioOverridesTest extends WindowTestsBase { } @NonNull void checkFixedOrientationLetterboxAspectRatioForTopParent(float expected) { assertEquals(expected, getTopActivityAppCompatAspectRatioOverrides() .getFixedOrientationLetterboxAspectRatio( activity().top().getParent().getConfiguration()), FLOAT_TOLLERANCE); } void checkAspectRatioForTopParentIsSplitScreenRatio(boolean expected) { final AppCompatAspectRatioOverrides aspectRatioOverrides = getTopActivityAppCompatAspectRatioOverrides(); if (expected) { assertEquals(aspectRatioOverrides.getSplitScreenAspectRatio(), aspectRatioOverrides.getFixedOrientationLetterboxAspectRatio( activity().top().getParent().getConfiguration()), FLOAT_TOLLERANCE); } else { assertNotEquals(aspectRatioOverrides.getSplitScreenAspectRatio(), aspectRatioOverrides.getFixedOrientationLetterboxAspectRatio( activity().top().getParent().getConfiguration()), FLOAT_TOLLERANCE); } } private AppCompatAspectRatioOverrides getTopActivityAppCompatAspectRatioOverrides() { return activity().top().mAppCompatController.getAppCompatAspectRatioOverrides(); } Loading
services/tests/wmtests/src/com/android/server/wm/AppCompatConfigurationRobot.java +10 −0 Original line number Diff line number Diff line Loading @@ -70,4 +70,14 @@ class AppCompatConfigurationRobot { void enableCompatFakeFocus(boolean enabled) { doReturn(enabled).when(mAppCompatConfiguration).isCompatFakeFocusEnabled(); } void enableDisplayAspectRatioEnabledForFixedOrientationLetterbox(boolean enabled) { doReturn(enabled).when(mAppCompatConfiguration) .getIsDisplayAspectRatioEnabledForFixedOrientationLetterbox(); } void setFixedOrientationLetterboxAspectRatio(float aspectRatio) { doReturn(aspectRatio).when(mAppCompatConfiguration) .getFixedOrientationLetterboxAspectRatio(); } }
services/tests/wmtests/src/com/android/server/wm/AppCompatRobotBase.java +2 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ abstract class AppCompatRobotBase { private static final int DEFAULT_DISPLAY_WIDTH = 1000; private static final int DEFAULT_DISPLAY_HEIGHT = 2000; static final float FLOAT_TOLLERANCE = 0.01f; @NonNull private final AppCompatActivityRobot mActivityRobot; @NonNull Loading
services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java +0 −32 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.server.wm; import static android.view.InsetsSource.FLAG_INSETS_ROUNDED_CORNER; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.eq; import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock; import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; Loading Loading @@ -296,37 +295,6 @@ public class LetterboxUiControllerTest extends WindowTestsBase { return mainWindow; } @Test public void testgetFixedOrientationLetterboxAspectRatio_splitScreenAspectEnabled() { doReturn(true).when(mActivity.mWmService.mAppCompatConfiguration) .isCameraCompatTreatmentEnabled(); doReturn(true).when(mActivity.mWmService.mAppCompatConfiguration) .isCameraCompatTreatmentEnabledAtBuildTime(); doReturn(true).when(mActivity.mWmService.mAppCompatConfiguration) .isCameraCompatSplitScreenAspectRatioEnabled(); doReturn(false).when(mActivity.mWmService.mAppCompatConfiguration) .getIsDisplayAspectRatioEnabledForFixedOrientationLetterbox(); doReturn(1.5f).when(mActivity.mWmService.mAppCompatConfiguration) .getFixedOrientationLetterboxAspectRatio(); // Recreate DisplayContent with DisplayRotationCompatPolicy mActivity = setUpActivityWithComponent(); mController = new LetterboxUiController(mWm, mActivity); assertEquals(1.5f, mController.getFixedOrientationLetterboxAspectRatio( mActivity.getParent().getConfiguration()), /* delta */ 0.01); spyOn(mDisplayContent.mAppCompatCameraPolicy); doReturn(true).when(mDisplayContent.mAppCompatCameraPolicy) .isTreatmentEnabledForActivity(eq(mActivity)); final AppCompatAspectRatioOverrides aspectRatioOverrides = mActivity.mAppCompatController.getAppCompatAspectRatioOverrides(); assertEquals(aspectRatioOverrides.getSplitScreenAspectRatio(), aspectRatioOverrides.getFixedOrientationLetterboxAspectRatio( mActivity.getParent().getConfiguration()), /* delta */ 0.01); } @Test public void testIsVerticalThinLetterboxed() { // Vertical thin letterbox disabled Loading