diff options
3 files changed, 10 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index ae55a1a77873..d2546e49267a 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -3230,8 +3230,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return false; } // If the user preference respects aspect ratio, then it becomes non-resizable. - return !mAppCompatController.getAppCompatOverrides().getAppCompatAspectRatioOverrides() - .shouldApplyUserMinAspectRatioOverride(); + return mAppCompatController.getAppCompatOverrides().getAppCompatAspectRatioOverrides() + .userPreferenceCompatibleWithNonResizability(); } boolean isResizeable() { diff --git a/services/core/java/com/android/server/wm/AppCompatAspectRatioOverrides.java b/services/core/java/com/android/server/wm/AppCompatAspectRatioOverrides.java index 90c0866d7dff..086b11c25a8d 100644 --- a/services/core/java/com/android/server/wm/AppCompatAspectRatioOverrides.java +++ b/services/core/java/com/android/server/wm/AppCompatAspectRatioOverrides.java @@ -135,6 +135,12 @@ class AppCompatAspectRatioOverrides { && aspectRatio != USER_MIN_ASPECT_RATIO_FULLSCREEN; } + boolean userPreferenceCompatibleWithNonResizability() { + final int aspectRatio = getUserMinAspectRatioOverrideCode(); + return aspectRatio == USER_MIN_ASPECT_RATIO_UNSET + || aspectRatio == USER_MIN_ASPECT_RATIO_FULLSCREEN; + } + boolean shouldApplyUserFullscreenOverride() { if (isUserFullscreenOverrideEnabled()) { final int aspectRatio = getUserMinAspectRatioOverrideCode(); 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 4fbe492ea7fb..584c4c96ae1d 100644 --- a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java @@ -4917,7 +4917,8 @@ public class SizeCompatTests extends WindowTestsBase { assertEquals(minAspect, aspectRatioPolicy.getMinAspectRatio(), 0 /* delta */); // User override can still take effect. - doReturn(true).when(aspectRatioOverrides).shouldApplyUserMinAspectRatioOverride(); + doReturn(USER_MIN_ASPECT_RATIO_3_2).when(aspectRatioOverrides) + .getUserMinAspectRatioOverrideCode(); assertFalse(mActivity.isResizeable()); assertEquals(maxAspect, aspectRatioPolicy.getMaxAspectRatio(), 0 /* delta */); assertNotEquals(SCREEN_ORIENTATION_UNSPECIFIED, mActivity.getOverrideOrientation()); |