Loading services/core/java/com/android/server/am/ActivityStack.java +8 −13 Original line number Diff line number Diff line Loading @@ -1659,21 +1659,13 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai } if (mStackId == DOCKED_STACK_ID) { final ActivityRecord r = topStack.topRunningActivityLocked(); // If the assistant stack is focused and translucent, then the docked stack is always // visible if (topStack.isAssistantStack()) { return (topStack.isStackTranslucent(starting, DOCKED_STACK_ID)) ? STACK_VISIBLE : STACK_INVISIBLE; } // Otherwise, the docked stack is always visible, except in the case where the top // running activity task in the focus stack doesn't support any form of resizing but we // show it for the home task even though it's not resizable. final TaskRecord task = r != null ? r.getTask() : null; return task == null || task.supportsSplitScreen() || task.isHomeTask() ? STACK_VISIBLE : STACK_INVISIBLE; return STACK_VISIBLE; } // Set home stack to invisible when it is below but not immediately below the docked stack Loading @@ -1692,15 +1684,18 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai mStacks.get(stackBehindTopIndex).topRunningActivityLocked() == null) { stackBehindTopIndex--; } final int stackBehindTopId = (stackBehindTopIndex >= 0) ? mStacks.get(stackBehindTopIndex).mStackId : INVALID_STACK_ID; if ((topStackId == DOCKED_STACK_ID || topStackId == PINNED_STACK_ID) && stackIndex == stackBehindTopIndex) { && (stackIndex == stackBehindTopIndex || (stackBehindTopId == DOCKED_STACK_ID && stackIndex == stackBehindTopIndex - 1))) { // Stacks directly behind the docked or pinned stack are always visible. // Also this stack is visible if behind docked stack and the docked stack is behind the // top-most pinned stack return STACK_VISIBLE; } final int stackBehindTopId = (stackBehindTopIndex >= 0) ? mStacks.get(stackBehindTopIndex).mStackId : INVALID_STACK_ID; if (StackId.isBackdropToTranslucentActivity(topStackId) && topStack.isStackTranslucent(starting, stackBehindTopId)) { // Stacks behind the fullscreen or assistant stack with a translucent activity are Loading Loading
services/core/java/com/android/server/am/ActivityStack.java +8 −13 Original line number Diff line number Diff line Loading @@ -1659,21 +1659,13 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai } if (mStackId == DOCKED_STACK_ID) { final ActivityRecord r = topStack.topRunningActivityLocked(); // If the assistant stack is focused and translucent, then the docked stack is always // visible if (topStack.isAssistantStack()) { return (topStack.isStackTranslucent(starting, DOCKED_STACK_ID)) ? STACK_VISIBLE : STACK_INVISIBLE; } // Otherwise, the docked stack is always visible, except in the case where the top // running activity task in the focus stack doesn't support any form of resizing but we // show it for the home task even though it's not resizable. final TaskRecord task = r != null ? r.getTask() : null; return task == null || task.supportsSplitScreen() || task.isHomeTask() ? STACK_VISIBLE : STACK_INVISIBLE; return STACK_VISIBLE; } // Set home stack to invisible when it is below but not immediately below the docked stack Loading @@ -1692,15 +1684,18 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai mStacks.get(stackBehindTopIndex).topRunningActivityLocked() == null) { stackBehindTopIndex--; } final int stackBehindTopId = (stackBehindTopIndex >= 0) ? mStacks.get(stackBehindTopIndex).mStackId : INVALID_STACK_ID; if ((topStackId == DOCKED_STACK_ID || topStackId == PINNED_STACK_ID) && stackIndex == stackBehindTopIndex) { && (stackIndex == stackBehindTopIndex || (stackBehindTopId == DOCKED_STACK_ID && stackIndex == stackBehindTopIndex - 1))) { // Stacks directly behind the docked or pinned stack are always visible. // Also this stack is visible if behind docked stack and the docked stack is behind the // top-most pinned stack return STACK_VISIBLE; } final int stackBehindTopId = (stackBehindTopIndex >= 0) ? mStacks.get(stackBehindTopIndex).mStackId : INVALID_STACK_ID; if (StackId.isBackdropToTranslucentActivity(topStackId) && topStack.isStackTranslucent(starting, stackBehindTopId)) { // Stacks behind the fullscreen or assistant stack with a translucent activity are Loading