From 9a98c526dd532ee3be29f6ba6640829c75f9cf1e Mon Sep 17 00:00:00 2001 From: Wale Ogunwale Date: Wed, 27 Apr 2016 09:23:55 -0700 Subject: [PATCH] Dismiss docked stack on user switch Having the docked stack across user switches currently leads to issues like wrong configuration state for apps. Dismissing docked stack for now until we find a better way to handle this. Bug: 28195260 bug: 28221061 Change-Id: I568a2c69783b1f0d7016fe1a21df959f7c2c9145 --- .../com/android/server/am/ActivityStackSupervisor.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index 66bc51cf477ed..f192a9ddb3b24 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -2997,7 +2997,11 @@ public final class ActivityStackSupervisor implements DisplayListener { } boolean switchUserLocked(int userId, UserState uss) { - mUserStackInFront.put(mCurrentUser, mFocusedStack.getStackId()); + final int focusStackId = mFocusedStack.getStackId(); + // We dismiss the docked stack whenever we switch users. + moveTasksToFullscreenStackLocked(DOCKED_STACK_ID, focusStackId == DOCKED_STACK_ID); + + mUserStackInFront.put(mCurrentUser, focusStackId); final int restoreStackId = mUserStackInFront.get(userId, HOME_STACK_ID); mCurrentUser = userId; @@ -3510,7 +3514,7 @@ public final class ActivityStackSupervisor implements DisplayListener { // Dismiss docked stack. If task appeared to be in docked stack but is not resizable - // we need to move it to top of fullscreen stack, otherwise it will be covered. - mService.moveTasksToFullscreenStack(DOCKED_STACK_ID, actualStackId == DOCKED_STACK_ID); + moveTasksToFullscreenStackLocked(DOCKED_STACK_ID, actualStackId == DOCKED_STACK_ID); } else if (task.mResizeMode == RESIZE_MODE_FORCE_RESIZEABLE) { String packageName = task.getTopActivity() != null ? task.getTopActivity().appInfo.packageName : null;