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

Commit 382419b8 authored by Louis Chang's avatar Louis Chang
Browse files

Fix AppTaskTests#testStartActivityInTask_NewTask failure

We shouldn't add new activity instance on top of the given task while
brought the task to front.

Bug: 140748518
Test: atest AppTaskTests

Change-Id: I917c6549f6c0cf41a9e3ca2f8756a76592cc6742
parent 9f2efe98
Loading
Loading
Loading
Loading
+11 −8
Original line number Original line Diff line number Diff line
@@ -1907,14 +1907,17 @@ class ActivityStarter {
                mAddingToTask = true;
                mAddingToTask = true;
            }
            }
        } else if (mStartActivity.mActivityComponent.equals(targetTask.realActivity)) {
        } else if (mStartActivity.mActivityComponent.equals(targetTask.realActivity)) {
            if (targetTask == mInTask) {
                // In this case we are bringing up an existing activity from a recent task. We
                // don't need to add a new activity instance on top.
            } else if (((mLaunchFlags & FLAG_ACTIVITY_SINGLE_TOP) != 0
                            || LAUNCH_SINGLE_TOP == mLaunchMode)
                    && targetTaskTop.mActivityComponent.equals(mStartActivity.mActivityComponent)
                    && mStartActivity.resultTo == null) {
                // In this case the top activity on the task is the same as the one being launched,
                // In this case the top activity on the task is the same as the one being launched,
                // so we take that as a request to bring the task to the foreground. If the top
                // so we take that as a request to bring the task to the foreground. If the top
                // activity in the task is the root activity, deliver this new intent to it if it
                // activity in the task is the root activity, deliver this new intent to it if it
                // desires.
                // desires.
            if (((mLaunchFlags & FLAG_ACTIVITY_SINGLE_TOP) != 0
                    || LAUNCH_SINGLE_TOP == mLaunchMode)
                    && targetTaskTop.mActivityComponent.equals(
                    mStartActivity.mActivityComponent) && mStartActivity.resultTo == null) {
                if (targetTaskTop.isRootOfTask()) {
                if (targetTaskTop.isRootOfTask()) {
                    targetTaskTop.getTaskRecord().setIntent(mStartActivity);
                    targetTaskTop.getTaskRecord().setIntent(mStartActivity);
                }
                }