Merge "Do not associate staring window to task for rotation change" into udc-qpr-dev

This commit is contained in:
Treehugger Robot
2023-08-09 14:01:21 +00:00
committed by Android (Google) Code Review
2 changed files with 5 additions and 0 deletions

View File

@@ -2334,6 +2334,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
mDisplayContent.updateImeControlTarget(isImeLayeringTarget() /* updateImeParent */);
// Fix the starting window to task when Activity has changed.
if (mStartingData != null && mStartingData.mAssociatedTask == null
&& mTempConfiguration.windowConfiguration.getRotation()
== selfConfiguration.windowConfiguration.getRotation()
&& !mTempConfiguration.windowConfiguration.getBounds().equals(getBounds())) {
mStartingData.mResizedFromTransfer = true;
// Lock the starting window to task, so it won't resize from transfer anymore.

View File

@@ -2939,6 +2939,9 @@ public class ActivityRecordTests extends WindowTestsBase {
// transform to activity1.
int rotation = (mDisplayContent.getRotation() + 1) % 4;
mDisplayContent.setFixedRotationLaunchingApp(activity, rotation);
// The configuration with rotation change should not trigger task-association.
assertNotNull(activity.mStartingData);
assertNull(activity.mStartingData.mAssociatedTask);
doReturn(rotation).when(mDisplayContent)
.rotationForActivityInDifferentOrientation(topActivity);