Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4d728a41 authored by Brandon Ross Pollack's avatar Brandon Ross Pollack Committed by Automerger Merge Worker
Browse files

Merge "Added a simple fix to override persisted window mode." into udc-dev am: 442b5d13

parents b619d7a6 442b5d13
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
+5 −4
Original line number Diff line number Diff line
@@ -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;
        }

+1 −0
Original line number Diff line number Diff line
@@ -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);

+5 −6
Original line number Diff line number Diff line
@@ -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