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

Commit f032bf5d authored by Christian Wahl (xWF)'s avatar Christian Wahl (xWF)
Browse files

Revert "Do not clear Task#mMultiWindowRestoreWindowingMode on ex..."

Revert submission 32311744-requestFullscreenBugfix

Reason for revert: Leads to breakages on main and main-swcar-dev, before merging will be verified with ABTD run
Bug: 405018103


Reverted changes: /q/submissionid:32311744-requestFullscreenBugfix

Change-Id: I72df38c7294c3ed1cdead504698e18c99182532a
parent 558772f4
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -1750,16 +1750,10 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
            Objects.requireNonNull(tdaInfo);
            final int displayWindowingMode =
                    tdaInfo.configuration.windowConfiguration.getWindowingMode();
            final int targetWindowingMode;
            if (DesktopModeFlags.ENABLE_REQUEST_FULLSCREEN_BUGFIX.isTrue()) {
                // TODO(b/404659187): set windowing mode to undefined for non-freeform displays
                targetWindowingMode = WINDOWING_MODE_FULLSCREEN;
            } else {
            // In freeform-first env, we need to explicitly set the windowing mode when leaving
            // the split-screen to be fullscreen.
                targetWindowingMode = displayWindowingMode == WINDOWING_MODE_FREEFORM
            final int targetWindowingMode = displayWindowingMode == WINDOWING_MODE_FREEFORM
                    ? WINDOWING_MODE_FULLSCREEN : WINDOWING_MODE_UNDEFINED;
            }
            toTopStage.doForAllChildTaskInfos(taskInfo -> {
                wct.setWindowingMode(taskInfo.token, targetWindowingMode);
            });
+2 −14
Original line number Diff line number Diff line
@@ -4594,7 +4594,7 @@ class Task extends TaskFragment {
        // Calling Task#setWindowingMode() for leaf task since this is a specialization of
        // {@link #setWindowingMode(int)} for root task.
        if (!isRootTask()) {
            clearRestoreWindowingMode(windowingMode);
            mMultiWindowRestoreWindowingMode = INVALID_WINDOWING_MODE;
            super.setWindowingMode(windowingMode);
            return;
        }
@@ -4602,18 +4602,6 @@ class Task extends TaskFragment {
        setWindowingModeInner(windowingMode, false /* creating */);
    }

    /**
     * Clears {@link #mMultiWindowRestoreWindowingMode} if the windowing mode has changed.
     *
     * @param windowingMode the windowing mode being requested
     */
    private void clearRestoreWindowingMode(int windowingMode) {
        if (!DesktopModeFlags.ENABLE_REQUEST_FULLSCREEN_BUGFIX.isTrue()
                || windowingMode != getWindowingMode()) {
            mMultiWindowRestoreWindowingMode = INVALID_WINDOWING_MODE;
        }
    }

    /**
     * Version of {@link #setWindowingMode(int)} for root tasks.
     *
@@ -4663,7 +4651,7 @@ class Task extends TaskFragment {
        }

        // Reset multi-window restore windowing mode.
        clearRestoreWindowingMode(windowingMode);
        mMultiWindowRestoreWindowingMode = INVALID_WINDOWING_MODE;

        final ActivityRecord topActivity = getTopNonFinishingActivity();