Merge "Change Size Compat mode resizability heuristic to look at top activity" into tm-qpr-dev am: b5bf8a73d2

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21609714

Change-Id: Ib2e46e48fc0ad004b8e83f46abf3d8d84834adf5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Vali Calinescu
2023-03-02 11:06:09 +00:00
committed by Automerger Merge Worker
2 changed files with 4 additions and 8 deletions

View File

@@ -7973,11 +7973,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
return false;
}
}
// Activity should be resizable if the task is.
final boolean isResizeable = task != null
? task.isResizeable() || isResizeable()
: isResizeable();
return !isResizeable && (info.isFixedOrientation() || hasFixedAspectRatio())
return !isResizeable() && (info.isFixedOrientation() || hasFixedAspectRatio())
// The configuration of non-standard type should be enforced by system.
// {@link WindowConfiguration#ACTIVITY_TYPE_STANDARD} is set when this activity is
// added to a task, but this function is called when resolving the launch params, at

View File

@@ -961,7 +961,7 @@ public class SizeCompatTests extends WindowTestsBase {
.setResizeMode(ActivityInfo.RESIZE_MODE_UNRESIZEABLE)
.setScreenOrientation(SCREEN_ORIENTATION_PORTRAIT)
.build();
assertFalse(activity.shouldCreateCompatDisplayInsets());
assertTrue(activity.shouldCreateCompatDisplayInsets());
// The non-resizable activity should not be size compat because it is on a resizable task
// in multi-window mode.
@@ -994,7 +994,7 @@ public class SizeCompatTests extends WindowTestsBase {
}
@Test
public void testShouldNotCreateCompatDisplayInsetsWhenRootActivityIsResizeable() {
public void testShouldCreateCompatDisplayInsetsWhenUnresizeableAndSupportsSizeChangesFalse() {
setUpDisplaySizeWithApp(1000, 2500);
// Make the task root resizable.
@@ -1003,7 +1003,7 @@ public class SizeCompatTests extends WindowTestsBase {
// Create an activity on the same task.
final ActivityRecord activity = buildActivityRecord(/* supportsSizeChanges= */false,
RESIZE_MODE_UNRESIZEABLE, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
assertFalse(activity.shouldCreateCompatDisplayInsets());
assertTrue(activity.shouldCreateCompatDisplayInsets());
}
@Test