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

Commit ec891577 authored by Riddle Hsu's avatar Riddle Hsu
Browse files

Add missing check of avoidMoveToFront when starting activity

Otherwise if the task is still moved to top unexpectedly, the
surface visibility may not be consistent with its hierarchy order.

Bug: 337995601
Test: A singleTask activity invokes
      startActivity or startActivityIfNeeded to start itself
      during swiping up to home. The end result should show
      home instead of black screen.
Change-Id: Ieda1a3612ccdf6c160690579e9995a2e873466d2
parent b9406495
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2167,7 +2167,7 @@ class ActivityStarter {
            // We don't need to start a new activity, and the client said not to do anything
            // if that is the case, so this is it!  And for paranoia, make sure we have
            // correctly resumed the top activity.
            if (!mMovedToFront && mDoResume) {
            if (!mMovedToFront && mDoResume && !avoidMoveToFront()) {
                ProtoLog.d(WM_DEBUG_TASKS, "Bring to front target: %s from %s", mTargetRootTask,
                        targetTaskTop);
                mTargetRootTask.moveToFront("intentActivityFound");
@@ -2196,7 +2196,7 @@ class ActivityStarter {
        if (mMovedToFront) {
            // We moved the task to front, use starting window to hide initial drawn delay.
            targetTaskTop.showStartingWindow(true /* taskSwitch */);
        } else if (mDoResume) {
        } else if (mDoResume && !avoidMoveToFront()) {
            // Make sure the root task and its belonging display are moved to topmost.
            mTargetRootTask.moveToFront("intentActivityFound");
        }