Fixing rotation issues.
- Ensuring that we can update the stack bounds of non-docked stacks upon
rotation while split screen is enabled (previously disabled)
- Fix issue where subsequent bounds calculations were using the animation
target bounds from the prior orientation
Bug: 36657966
Test: android.server.cts.ActivityManagerPinnedStackTests
Change-Id: I810e35f907721ef5c781b914adac3273ea8da5c8
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index b623b2f..c65ca79 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -2252,9 +2252,10 @@
return;
}
- if (!allowResizeInDockedMode && getStack(DOCKED_STACK_ID) != null) {
- // If the docked stack exist we don't allow resizes of stacks not caused by the docked
- // stack size changing so things don't get out of sync.
+ if (!allowResizeInDockedMode && !StackId.tasksAreFloating(stackId) &&
+ getStack(DOCKED_STACK_ID) != null) {
+ // If the docked stack exists, don't resize non-floating stacks independently of the
+ // size computed from the docked stack size (otherwise they will be out of sync)
return;
}