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() {
|
private Task computeTargetTask() {
|
||||||
if (mStartActivity.resultTo == null && mInTask == null && !mAddingToTask
|
if (mInTask == null && !mAddingToTask && (mLaunchFlags & FLAG_ACTIVITY_NEW_TASK) != 0) {
|
||||||
&& (mLaunchFlags & FLAG_ACTIVITY_NEW_TASK) != 0) {
|
|
||||||
// A new task should be created instead of using existing one.
|
// A new task should be created instead of using existing one.
|
||||||
return null;
|
return null;
|
||||||
} else if (mSourceRecord != 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
|
// 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
|
// 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.
|
// 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;
|
ActivityRecord intentActivity = null;
|
||||||
if (putIntoExistingTask) {
|
if (putIntoExistingTask) {
|
||||||
if (LAUNCH_SINGLE_INSTANCE == mLaunchMode) {
|
if (LAUNCH_SINGLE_INSTANCE == mLaunchMode) {
|
||||||
|
|||||||
Reference in New Issue
Block a user