Loading services/core/java/com/android/server/wm/ActivityStarter.java +41 −60 Original line number Diff line number Diff line Loading @@ -2767,10 +2767,7 @@ class ActivityStarter { } } // If the target task is not in the front, then we need to bring it to the front... // except... well, with SINGLE_TASK_LAUNCH it's not entirely clear. We'd like to have // the same behavior as if a new instance was being started, which means not bringing it // to the front if the caller is not itself in the front. // If the target task is not in the front, then we need to bring it to the front. final boolean differentTopTask; if (mTargetRootTask.getDisplayArea() == mPreferredTaskDisplayArea) { final Task focusRootTask = mTargetRootTask.mDisplayContent.getFocusedRootTask(); Loading @@ -2787,7 +2784,6 @@ class ActivityStarter { if (differentTopTask && !avoidMoveToFront()) { mStartActivity.intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); if (mSourceRecord == null || inTopNonFinishingTask(mSourceRecord)) { // We really do want to push this one into the user's face, right now. if (mLaunchTaskBehind && mSourceRecord != null) { intentActivity.setTaskToAffiliateWith(mSourceRecord.getTask()); Loading Loading @@ -2830,7 +2826,6 @@ class ActivityStarter { } mOptions = null; } } if (differentTopTask) { logPIOnlyCreatorAllowsBAL(); } Loading @@ -2850,20 +2845,6 @@ class ActivityStarter { mRootWindowContainer.getDefaultTaskDisplayArea(), mTargetRootTask); } private boolean inTopNonFinishingTask(ActivityRecord r) { if (r == null || r.getTask() == null) { return false; } final Task rTask = r.getTask(); final Task parent = rTask.getCreatedByOrganizerTask() != null ? rTask.getCreatedByOrganizerTask() : r.getRootTask(); final ActivityRecord topNonFinishingActivity = parent != null ? parent.getTopNonFinishingActivity() : null; return topNonFinishingActivity != null && topNonFinishingActivity.getTask() == rTask; } private void resumeTargetRootTaskIfNeeded() { if (mDoResume) { final ActivityRecord next = mTargetRootTask.topRunningActivity( Loading Loading
services/core/java/com/android/server/wm/ActivityStarter.java +41 −60 Original line number Diff line number Diff line Loading @@ -2767,10 +2767,7 @@ class ActivityStarter { } } // If the target task is not in the front, then we need to bring it to the front... // except... well, with SINGLE_TASK_LAUNCH it's not entirely clear. We'd like to have // the same behavior as if a new instance was being started, which means not bringing it // to the front if the caller is not itself in the front. // If the target task is not in the front, then we need to bring it to the front. final boolean differentTopTask; if (mTargetRootTask.getDisplayArea() == mPreferredTaskDisplayArea) { final Task focusRootTask = mTargetRootTask.mDisplayContent.getFocusedRootTask(); Loading @@ -2787,7 +2784,6 @@ class ActivityStarter { if (differentTopTask && !avoidMoveToFront()) { mStartActivity.intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); if (mSourceRecord == null || inTopNonFinishingTask(mSourceRecord)) { // We really do want to push this one into the user's face, right now. if (mLaunchTaskBehind && mSourceRecord != null) { intentActivity.setTaskToAffiliateWith(mSourceRecord.getTask()); Loading Loading @@ -2830,7 +2826,6 @@ class ActivityStarter { } mOptions = null; } } if (differentTopTask) { logPIOnlyCreatorAllowsBAL(); } Loading @@ -2850,20 +2845,6 @@ class ActivityStarter { mRootWindowContainer.getDefaultTaskDisplayArea(), mTargetRootTask); } private boolean inTopNonFinishingTask(ActivityRecord r) { if (r == null || r.getTask() == null) { return false; } final Task rTask = r.getTask(); final Task parent = rTask.getCreatedByOrganizerTask() != null ? rTask.getCreatedByOrganizerTask() : r.getRootTask(); final ActivityRecord topNonFinishingActivity = parent != null ? parent.getTopNonFinishingActivity() : null; return topNonFinishingActivity != null && topNonFinishingActivity.getTask() == rTask; } private void resumeTargetRootTaskIfNeeded() { if (mDoResume) { final ActivityRecord next = mTargetRootTask.topRunningActivity( Loading