summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Massimo Carli <mcarli@google.com> 2024-07-29 07:36:47 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-07-29 07:36:47 +0000
commit59002e70d74c31d8c8c6ebf1e161dfedfbfaa85c (patch)
treef412ae3a50ac060d1dda610ed5dc460857a1794d
parentf7de25121fe01233f5a202a349fa56f634e18843 (diff)
parent68b53e203909e6ea5483930577f0b30e09bfff23 (diff)
Merge "[23/n] Add missing test about aspect ratio" into main
-rw-r--r--services/core/java/com/android/server/wm/LetterboxUiController.java5
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/AppCompatAspectRatioOverridesTest.java42
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/AppCompatConfigurationRobot.java10
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/AppCompatRobotBase.java2
-rw-r--r--services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java32
5 files changed, 53 insertions, 38 deletions
diff --git a/services/core/java/com/android/server/wm/LetterboxUiController.java b/services/core/java/com/android/server/wm/LetterboxUiController.java
index 444097a3ea05..291eab1b2d94 100644
--- a/services/core/java/com/android/server/wm/LetterboxUiController.java
+++ b/services/core/java/com/android/server/wm/LetterboxUiController.java
@@ -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();
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppCompatAspectRatioOverridesTest.java b/services/tests/wmtests/src/com/android/server/wm/AppCompatAspectRatioOverridesTest.java
index ddd6d562abb1..a6fd11210307 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppCompatAspectRatioOverridesTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppCompatAspectRatioOverridesTest.java
@@ -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;
@@ -246,7 +247,6 @@ public class AppCompatAspectRatioOverridesTest extends WindowTestsBase {
});
}
-
@Test
@EnableCompatChanges({OVERRIDE_MIN_ASPECT_RATIO})
public void testshouldOverrideMinAspectRatio_propertyFalse_overrideEnabled_returnsFalse() {
@@ -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.
*/
@@ -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();
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppCompatConfigurationRobot.java b/services/tests/wmtests/src/com/android/server/wm/AppCompatConfigurationRobot.java
index 00a87719eaac..6592f2625ab6 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppCompatConfigurationRobot.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppCompatConfigurationRobot.java
@@ -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();
+ }
}
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppCompatRobotBase.java b/services/tests/wmtests/src/com/android/server/wm/AppCompatRobotBase.java
index 92f246be7cdf..6939f97e1799 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppCompatRobotBase.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppCompatRobotBase.java
@@ -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
diff --git a/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java
index e2c0f6c20c01..61a6f316244c 100644
--- a/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/LetterboxUiControllerTest.java
@@ -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;
@@ -297,37 +296,6 @@ public class LetterboxUiControllerTest extends WindowTestsBase {
}
@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
doReturn(-1).when(mActivity.mWmService.mAppCompatConfiguration)