Merge "Avoid creating new instance when started for result with singleInstance/singleTask" into sc-dev
This commit is contained in:
@@ -1814,8 +1814,7 @@ class ActivityStarter {
|
||||
}
|
||||
|
||||
private Task computeTargetTask() {
|
||||
if (mStartActivity.resultTo == null && mInTask == null && !mAddingToTask
|
||||
&& (mLaunchFlags & FLAG_ACTIVITY_NEW_TASK) != 0) {
|
||||
if (mInTask == null && !mAddingToTask && (mLaunchFlags & FLAG_ACTIVITY_NEW_TASK) != 0) {
|
||||
// A new task should be created instead of using existing one.
|
||||
return null;
|
||||
} else if (mSourceRecord != null) {
|
||||
@@ -2505,7 +2504,9 @@ class ActivityStarter {
|
||||
// If bring to front is requested, and no result is requested and we have not been given
|
||||
// an explicit task to launch in to, and we can find a task that was started with this
|
||||
// same component, then instead of launching bring that one to the front.
|
||||
putIntoExistingTask &= mInTask == null && mStartActivity.resultTo == null;
|
||||
putIntoExistingTask &= !isLaunchModeOneOf(LAUNCH_SINGLE_INSTANCE, LAUNCH_SINGLE_TASK)
|
||||
? (mInTask == null && mStartActivity.resultTo == null)
|
||||
: (mInTask == null);
|
||||
ActivityRecord intentActivity = null;
|
||||
if (putIntoExistingTask) {
|
||||
if (LAUNCH_SINGLE_INSTANCE == mLaunchMode) {
|
||||
|
||||
Reference in New Issue
Block a user