From dcb68145236b9ed9f6ea6ee9456db2fca456df3c Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Tue, 9 Feb 2016 21:51:30 -0800 Subject: [PATCH] Reset docked stack resizing when divider dies Bug: 27062375 Change-Id: I699f8d99ceab8405bcb973942787ee80caea12b2 --- services/core/java/com/android/server/wm/WindowState.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 3430b3484ef7e..2096ea065d0d4 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1621,11 +1621,14 @@ final class WindowState implements WindowManagerPolicy.WindowState { mService.removeWindowLocked(win); if (win.mAttrs.type == TYPE_DOCK_DIVIDER) { // The owner of the docked divider died :( We reset the docked stack, - // just in case they have the divider at an unstable position. + // just in case they have the divider at an unstable position. Better + // also reset drag resizing state, because the owner can't do it + // anymore. final TaskStack stack = mService.mStackIdToStack.get(DOCKED_STACK_ID); if (stack != null) { stack.resetDockedStackToMiddle(); } + mService.setDockedStackResizing(false); } } else if (mHasSurface) { Slog.e(TAG, "!!! LEAK !!! Window removed but surface still valid.");