From 1d83fdbaf6ff11e82f46de9b1559b5d71df5c8ef Mon Sep 17 00:00:00 2001 From: Louis Chang Date: Thu, 10 Dec 2020 10:47:38 +0800 Subject: Ensure the next activity of non-focusable task to be visible The top activity of the dock task was finished due to starting the singleTask root activity. However, the root activity was remained in STOPPED state because the activities in dock task cannot be resumed while in split-screen mode. Ensure the activity visibility if the target task is unfocusable. Bug: 174440887 Bug: 177038047 Test: start singleTask activity on dock task Change-Id: I4f02758287ca4ef0e710bb556b5910600e725e40 Merged-In: I4f02758287ca4ef0e710bb556b5910600e725e40 (cherry picked from commit fc165b971c08534dd5a4e55d4b2b5fcf9b283634) --- services/core/java/com/android/server/wm/ActivityStarter.java | 6 +++++- 1 file changed, 5 insertions(+), 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 7af237b80cfa..54ad4acaca4c 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -2545,7 +2545,11 @@ class ActivityStarter { private void resumeTargetStackIfNeeded() { if (mDoResume) { - mRootWindowContainer.resumeFocusedStacksTopActivities(mTargetStack, null, mOptions); + if (mTargetStack.isFocusable()) { + mRootWindowContainer.resumeFocusedStacksTopActivities(mTargetStack, null, mOptions); + } else { + mRootWindowContainer.ensureActivitiesVisible(null, 0, !PRESERVE_WINDOWS); + } } else { ActivityOptions.abort(mOptions); } -- cgit v1.2.3-59-g8ed1b