From ca765813ca657a6e52f5e7590c3152023b96f359 Mon Sep 17 00:00:00 2001 From: Riddle Hsu Date: Tue, 24 Aug 2021 18:52:13 +0800 Subject: [PATCH] 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 --- services/core/java/com/android/server/wm/ActivityStarter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index f6757f599d7c8..af5382721dee9 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -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);