Make sure activity is started in requested windowing mode

An existing activity was brought to front, but was not launched in
requested windowing mode because the task was simply reused without
updating to the preferred windowing mode.

Bug: 177190100
Test: atest WindowMetricsActivityTests#testMetricsMatchesDisplayAreaOnFreeformActivity
Change-Id: I43884c3297995e536e91a81bbb0c290da7aace1c
This commit is contained in:
Louis Chang
2021-04-08 18:07:45 +08:00
parent d2793a6c03
commit e99aa99954

View File

@@ -2633,6 +2633,12 @@ class ActivityStarter {
mOptions = null;
}
}
if (mPreferredWindowingMode != WINDOWING_MODE_UNDEFINED
&& intentTask.getWindowingMode() != mPreferredWindowingMode) {
intentTask.setWindowingMode(mPreferredWindowingMode);
}
// Need to update mTargetRootTask because if task was moved out of it, the original root
// task may be destroyed.
mTargetRootTask = intentActivity.getRootTask();