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