Merge "Added a simple fix to override persisted window mode." into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
442b5d1363
@@ -263,8 +263,8 @@ class LaunchParamsPersister {
|
||||
boolean changed = !Objects.equals(params.mDisplayUniqueId, info.uniqueId);
|
||||
params.mDisplayUniqueId = info.uniqueId;
|
||||
|
||||
changed |= params.mWindowingMode != task.getWindowingMode();
|
||||
params.mWindowingMode = task.getWindowingMode();
|
||||
changed |= params.mWindowingMode != task.getTaskDisplayArea().getWindowingMode();
|
||||
params.mWindowingMode = task.getTaskDisplayArea().getWindowingMode();
|
||||
|
||||
if (task.mLastNonFullscreenBounds != null) {
|
||||
changed |= !Objects.equals(params.mBounds, task.mLastNonFullscreenBounds);
|
||||
|
||||
@@ -2244,10 +2244,11 @@ class Task extends TaskFragment {
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't persist state if display isn't in freeform mode. Then the task will be launched
|
||||
// back to its last state in a freeform display when it's launched in a freeform display
|
||||
// next time.
|
||||
if (getWindowConfiguration().getDisplayWindowingMode() != WINDOWING_MODE_FREEFORM) {
|
||||
// Don't persist state if Task Display Area isn't in freeform mode. Then the task will be
|
||||
// launched back to its last state in a freeform Task Display Area when it's launched in a
|
||||
// freeform Task Display Area next time.
|
||||
if (getTaskDisplayArea() == null
|
||||
|| getTaskDisplayArea().getWindowingMode() != WINDOWING_MODE_FREEFORM) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -111,6 +111,7 @@ public class LaunchParamsPersisterTests extends WindowTestsBase {
|
||||
mDisplayUniqueId = "test:" + sNextUniqueId++;
|
||||
mTestDisplay = new TestDisplayContent.Builder(mAtm, 1000, 1500)
|
||||
.setUniqueId(mDisplayUniqueId).build();
|
||||
mTestDisplay.getDefaultTaskDisplayArea().setWindowingMode(TEST_WINDOWING_MODE);
|
||||
when(mRootWindowContainer.getDisplayContent(eq(mDisplayUniqueId)))
|
||||
.thenReturn(mTestDisplay);
|
||||
|
||||
|
||||
@@ -1328,17 +1328,16 @@ public class TaskTests extends WindowTestsBase {
|
||||
spyOn(persister);
|
||||
|
||||
final Task task = getTestTask();
|
||||
task.setHasBeenVisible(false);
|
||||
task.setHasBeenVisible(true);
|
||||
task.getDisplayContent()
|
||||
.getDefaultTaskDisplayArea()
|
||||
.setWindowingMode(WindowConfiguration.WINDOWING_MODE_FREEFORM);
|
||||
task.getRootTask().setWindowingMode(WINDOWING_MODE_FULLSCREEN);
|
||||
.setWindowingMode(WINDOWING_MODE_FREEFORM);
|
||||
task.getRootTask().setWindowingMode(WINDOWING_MODE_FREEFORM);
|
||||
final DisplayContent oldDisplay = task.getDisplayContent();
|
||||
|
||||
LaunchParamsController.LaunchParams params = new LaunchParamsController.LaunchParams();
|
||||
params.mWindowingMode = WINDOWING_MODE_UNDEFINED;
|
||||
persister.getLaunchParams(task, null, params);
|
||||
assertEquals(WINDOWING_MODE_UNDEFINED, params.mWindowingMode);
|
||||
assertEquals(WINDOWING_MODE_FREEFORM, params.mWindowingMode);
|
||||
|
||||
task.setHasBeenVisible(true);
|
||||
task.removeImmediately();
|
||||
@@ -1346,7 +1345,7 @@ public class TaskTests extends WindowTestsBase {
|
||||
verify(persister).saveTask(task, oldDisplay);
|
||||
|
||||
persister.getLaunchParams(task, null, params);
|
||||
assertEquals(WINDOWING_MODE_FULLSCREEN, params.mWindowingMode);
|
||||
assertEquals(WINDOWING_MODE_FREEFORM, params.mWindowingMode);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user