Set the candidate task windowing mode

A fullscreen task was unable to be started in to freefrom mode.
The behavior was broken after commit bbcd3435.

Bug: 229052728
Test: Start a recent task in freefrom
Test: atest ActivityStarterTests
Test: atest PinnedStackTests#testDisplayMetricsPinUnpin
Change-Id: I11bc49983a876da3f903dd2753fd8d2d447e2626
This commit is contained in:
Louis Chang
2022-04-14 13:42:48 +08:00
parent 1b43c023fa
commit e714cb1ab2
2 changed files with 5 additions and 5 deletions

View File

@@ -2809,11 +2809,6 @@ class ActivityStarter {
}
}
if (mPreferredWindowingMode != WINDOWING_MODE_UNDEFINED
&& intentTask.getWindowingMode() != mPreferredWindowingMode) {
intentTask.setWindowingMode(mPreferredWindowingMode);
}
// Update the target's launch cookie to those specified in the options if set
if (mStartActivity.mLaunchCookie != null) {
intentActivity.mLaunchCookie = mStartActivity.mLaunchCookie;

View File

@@ -977,6 +977,11 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> {
candidateTask.reparent(this, onTop);
}
}
// Update windowing mode if necessary, e.g. launch into a different windowing mode.
if (windowingMode != WINDOWING_MODE_UNDEFINED && candidateTask.isRootTask()
&& candidateTask.getWindowingMode() != windowingMode) {
candidateTask.setWindowingMode(windowingMode);
}
return candidateTask.getRootTask();
}
return new Task.Builder(mAtmService)