From 1402c2efe815bbdfdbc2d3e8e25fff367d272dd4 Mon Sep 17 00:00:00 2001 From: Chong Zhang Date: Thu, 21 Apr 2016 15:17:47 -0700 Subject: Update divider controller's dim layer when the layer is changed The divider's layer assignment could change after the initial adjust animation has finished. bug: 28255739 Change-Id: I5899fe22e4fec680c49c881437c7f85d8ee9ca74 --- .../java/com/android/server/wm/DockedStackDividerController.java | 5 ++++- services/core/java/com/android/server/wm/TaskStack.java | 3 --- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/wm/DockedStackDividerController.java b/services/core/java/com/android/server/wm/DockedStackDividerController.java index 8a003deb9db4..30ba28a21995 100644 --- a/services/core/java/com/android/server/wm/DockedStackDividerController.java +++ b/services/core/java/com/android/server/wm/DockedStackDividerController.java @@ -353,7 +353,7 @@ public class DockedStackDividerController implements DimLayerUser { stack.getDimBounds(mTmpRect); if (mTmpRect.height() > 0 && mTmpRect.width() > 0) { mDimLayer.setBounds(mTmpRect); - mDimLayer.show(mDisplayContent.mService.mLayersController.getResizeDimLayer(), + mDimLayer.show(mService.mLayersController.getResizeDimLayer(), alpha, 0 /* duration */); } else { visibleAndValid = false; @@ -543,6 +543,9 @@ public class DockedStackDividerController implements DimLayerUser { } else if (mAnimatingForIme) { return animateForIme(now); } else { + if (mDimLayer != null) { + mDimLayer.setLayer(mService.mLayersController.getResizeDimLayer()); + } return false; } } diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java index a289855586c4..af8875c4d288 100644 --- a/services/core/java/com/android/server/wm/TaskStack.java +++ b/services/core/java/com/android/server/wm/TaskStack.java @@ -119,7 +119,6 @@ public class TaskStack implements DimLayer.DimLayerUser, // Whether the stack and all its tasks is currently being drag-resized private boolean mDragResizing; - private final Rect mLastContentBounds = new Rect(); private final Rect mTmpAdjustedBounds = new Rect(); private boolean mAdjustedForIme; private boolean mImeGoingAway; @@ -975,7 +974,6 @@ public class TaskStack implements DimLayer.DimLayerUser, contentBounds.bottom = imeTop; } - mLastContentBounds.set(contentBounds); final int yOffset = displayContentRect.bottom - contentBounds.bottom; final int dividerWidth = @@ -1085,7 +1083,6 @@ public class TaskStack implements DimLayer.DimLayerUser, } if (!adjust) { mTmpAdjustedBounds.setEmpty(); - mLastContentBounds.setEmpty(); } setAdjustedBounds(mTmpAdjustedBounds); -- cgit v1.2.3-59-g8ed1b