Migrate task intent/info to new task only if source task is empty
Migrate the task intent and info to the new task only if the source task is empty or is about to remove. Or the source task will be trimmed from Recents due to newly created task added. Bug: 205215708 Test: start tips from Settings Change-Id: I283b777b20f702b49fcf06fd7435bab87816d7d5
This commit is contained in:
@@ -2638,14 +2638,16 @@ class ActivityStarter {
|
||||
Slog.w(TAG, "startActivity called from finishing " + mSourceRecord
|
||||
+ "; forcing " + "Intent.FLAG_ACTIVITY_NEW_TASK for: " + mIntent);
|
||||
mLaunchFlags |= FLAG_ACTIVITY_NEW_TASK;
|
||||
mNewTaskInfo = mSourceRecord.info;
|
||||
|
||||
// It is not guaranteed that the source record will have a task associated with it. For,
|
||||
// example, if this method is being called for processing a pending activity launch, it
|
||||
// is possible that the activity has been removed from the task after the launch was
|
||||
// enqueued.
|
||||
// It is not guaranteed that the source record will have a task associated with it.
|
||||
// For example, if this method is being called for processing a pending activity
|
||||
// launch, it is possible that the activity has been removed from the task after the
|
||||
// launch was enqueued.
|
||||
final Task sourceTask = mSourceRecord.getTask();
|
||||
mNewTaskIntent = sourceTask != null ? sourceTask.intent : null;
|
||||
if (sourceTask == null || sourceTask.getTopNonFinishingActivity() == null) {
|
||||
mNewTaskInfo = mSourceRecord.info;
|
||||
mNewTaskIntent = sourceTask != null ? sourceTask.intent : null;
|
||||
}
|
||||
}
|
||||
mSourceRecord = null;
|
||||
mSourceRootTask = null;
|
||||
|
||||
Reference in New Issue
Block a user