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

Commit 948e9ee4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Dismiss dream with launchTaskBehind" into rvc-dev am: 9af8e3f1

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11867454

Change-Id: I9ca58af6741e8707f7bf7a017c0cbf42a52665cc
parents 264c6e24 9af8e3f1
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -1668,6 +1668,12 @@ class ActivityStarter {
                    mTargetStack.setAlwaysOnTop(true);
                }
            }
            if (!mTargetStack.isTopStackInDisplayArea() && mService.mInternal.isDreaming()) {
                // Launching underneath dream activity (fullscreen, always-on-top). Run the launch-
                // -behind transition so the Activity gets created and starts in visible state.
                mLaunchTaskBehind = true;
                r.mLaunchTaskBehind = true;
            }
        }

        mService.mUgmInternal.grantUriPermissionUncheckedFromIntent(intentGrants,
@@ -1917,6 +1923,12 @@ class ActivityStarter {
            return START_SUCCESS;
        }

        // At this point we are certain we want the task moved to the front. If we need to dismiss
        // any other always-on-top stacks, now is the time to do it.
        if (targetTaskTop.canTurnScreenOn() && mService.mInternal.isDreaming()) {
            targetTaskTop.mStackSupervisor.wakeUp("recycleTask#turnScreenOnFlag");
        }

        if (mMovedToFront) {
            // We moved the task to front, use starting window to hide initial drawn delay.
            targetTaskTop.showStartingWindow(null /* prev */, false /* newTask */,
+3 −1
Original line number Diff line number Diff line
@@ -2696,7 +2696,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
                            Settings.Global.THEATER_MODE_ON, 0) == 0;
            boolean canTurnScreenOn = mActivityRecord == null || mActivityRecord.currentLaunchCanTurnScreenOn();

            if (allowTheaterMode && canTurnScreenOn && !mPowerManagerWrapper.isInteractive()) {
            if (allowTheaterMode && canTurnScreenOn
                        && (mWmService.mAtmInternal.isDreaming()
                        || !mPowerManagerWrapper.isInteractive())) {
                if (DEBUG_VISIBILITY || DEBUG_POWER) {
                    Slog.v(TAG, "Relayout window turning screen on: " + this);
                }