Do not consider embedded task as task switch

For example:
 Task A - TaskFragment - Activity X
        - TaskFragment - Task B (embedded) - Activity Y
If Y starts Activity Z in Task B, even if A and B are different,
we don't want to show starting window because B is a part of A
from user's perspective.

Bug: 197595621
Test: Start activity from embedded task fragment to the same
      task fragment.
Change-Id: I9ec40e77b675c857f46747babd3144b2989042f6
This commit is contained in:
Riddle Hsu
2021-08-24 18:52:13 +08:00
parent 5cbb831c10
commit ca765813ca

View File

@@ -1798,7 +1798,7 @@ class ActivityStarter {
mRootWindowContainer.startPowerModeLaunchIfNeeded(
false /* forceSend */, mStartActivity);
final boolean isTaskSwitch = startedTask != prevTopTask;
final boolean isTaskSwitch = startedTask != prevTopTask && !startedTask.isEmbedded();
mTargetRootTask.startActivityLocked(mStartActivity,
topRootTask != null ? topRootTask.getTopNonFinishingActivity() : null, newTask,
isTaskSwitch, mOptions, sourceRecord);