Merge "Stack is visible if behind docked which is behind pinned stack (1/2)" into oc-dev am: b2edabadee
am: cda41c6bcd
Change-Id: Idcdfd6fc9fc492c2cce2c51782ac3fe1ee8fe909
This commit is contained in:
@@ -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
|
||||
@@ -1692,14 +1684,17 @@ class ActivityStack<T extends StackWindowController> extends ConfigurationContai
|
||||
mStacks.get(stackBehindTopIndex).topRunningActivityLocked() == null) {
|
||||
stackBehindTopIndex--;
|
||||
}
|
||||
if ((topStackId == DOCKED_STACK_ID || topStackId == PINNED_STACK_ID)
|
||||
&& stackIndex == stackBehindTopIndex) {
|
||||
// Stacks directly behind the docked or pinned stack are always visible.
|
||||
return STACK_VISIBLE;
|
||||
}
|
||||
|
||||
final int stackBehindTopId = (stackBehindTopIndex >= 0)
|
||||
? mStacks.get(stackBehindTopIndex).mStackId : INVALID_STACK_ID;
|
||||
if ((topStackId == DOCKED_STACK_ID || topStackId == PINNED_STACK_ID)
|
||||
&& (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;
|
||||
}
|
||||
|
||||
if (StackId.isBackdropToTranslucentActivity(topStackId)
|
||||
&& topStack.isStackTranslucent(starting, stackBehindTopId)) {
|
||||
|
||||
Reference in New Issue
Block a user