Don't even try adjusting when dock is minimized
Bug: 28652219
Change-Id: I61fa515ec945e1da6b9e7a53766abea2fb1e606e
diff --git a/services/core/java/com/android/server/wm/DockedStackDividerController.java b/services/core/java/com/android/server/wm/DockedStackDividerController.java
index ca68d55..61425114 100644
--- a/services/core/java/com/android/server/wm/DockedStackDividerController.java
+++ b/services/core/java/com/android/server/wm/DockedStackDividerController.java
@@ -377,6 +377,10 @@
checkMinimizeChanged(true /* animate */);
}
+ boolean isMinimizedDock() {
+ return mMinimizedDock;
+ }
+
private void checkMinimizeChanged(boolean animate) {
if (mDisplayContent.getDockedStackVisibleForUserLocked() == null) {
return;
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index be888fe..9954f62 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -7534,6 +7534,7 @@
imeTargetStack.getDockSide() : DOCKED_INVALID;
final boolean imeOnTop = (imeDockSide == DOCKED_TOP);
final boolean imeOnBottom = (imeDockSide == DOCKED_BOTTOM);
+ final boolean dockMinimized = displayContent.mDividerControllerLocked.isMinimizedDock();
// The divider could be adjusted for IME position, or be thinner than usual,
// or both. There are three possible cases:
@@ -7541,7 +7542,7 @@
// - If IME is visible, and focus is on bottom, divider is moved for IME and thinner.
// - If IME is not visible, divider is not moved and is normal width.
- if (imeVisible && dockVisible && (imeOnTop || imeOnBottom)) {
+ if (imeVisible && dockVisible && (imeOnTop || imeOnBottom) && !dockMinimized) {
final ArrayList<TaskStack> stacks = displayContent.getStacks();
for (int i = stacks.size() - 1; i >= 0; --i) {
final TaskStack stack = stacks.get(i);