diff options
| author | 2020-01-28 23:36:27 +0000 | |
|---|---|---|
| committer | 2020-01-28 23:36:27 +0000 | |
| commit | 8ce640f9ad4c3065918627fc7ccbb0d3068f9f91 (patch) | |
| tree | 7b60c2ed0ea0fc951671aeb8393f2c31e8b0eca0 | |
| parent | c446689491250db391a5c1f68d42993d84291716 (diff) | |
| parent | f45dd9fc583bf3d67a3c906d46f7a933ea5741c0 (diff) | |
Merge "Always add the task to the recent task list when starting"
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityStarter.java | 4 | ||||
| -rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java | 14 |
2 files changed, 16 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index 26812f462b3f..9e3292b59402 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -1595,11 +1595,11 @@ class ActivityStarter { mRootWindowContainer.resumeFocusedStacksTopActivities( mTargetStack, mStartActivity, mOptions); } - } else if (mStartActivity != null) { - mSupervisor.mRecentTasks.add(mStartActivity.getTask()); } mRootWindowContainer.updateUserStack(mStartActivity.mUserId, mTargetStack); + // Update the recent tasks list immediately when the activity starts + mSupervisor.mRecentTasks.add(mStartActivity.getTask()); mSupervisor.handleNonResizableTaskIfNeeded(mStartActivity.getTask(), preferredWindowingMode, mPreferredDisplayId, mTargetStack); diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java index 0fc2bc510d05..bab877e6c26f 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java @@ -1008,4 +1008,18 @@ public class ActivityStarterTests extends ActivityTestsBase { .setOutActivity(outActivity).execute(); assertThat(outActivity[0].inSplitScreenSecondaryWindowingMode()).isTrue(); } + + @Test + public void testActivityStart_expectAddedToRecentTask() { + RecentTasks recentTasks = mock(RecentTasks.class); + mService.mStackSupervisor.setRecentTasks(recentTasks); + doReturn(true).when(recentTasks).isCallerRecents(anyInt()); + + final ActivityStarter starter = prepareStarter(0 /* flags */); + + starter.setReason("testAddToTaskListOnActivityStart") + .execute(); + + verify(recentTasks, times(1)).add(any()); + } } |