Merge "Migrate task intent/info to new task only if source task is empty" into tm-dev am: df3e2162b0

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17739083

Change-Id: Ifabbdfbc4bc1f68a7195790a22704512039c7f0b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Louis Chang
2022-04-14 07:10:45 +00:00
committed by Automerger Merge Worker

View File

@@ -2644,14 +2644,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;