diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java index f045814333de1..98f3f0c3b60d7 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java @@ -317,6 +317,18 @@ public class DividerView extends FrameLayout implements OnTouchListener, outRect.top = position + mDividerWindowWidth - 2 * mDividerInsets; break; } + if (outRect.left > outRect.right) { + outRect.left = outRect.right; + } + if (outRect.top > outRect.bottom) { + outRect.top = outRect.bottom; + } + if (outRect.right < outRect.left) { + outRect.right = outRect.left; + } + if (outRect.bottom < outRect.top) { + outRect.bottom = outRect.top; + } } public void resizeStack(int position) { diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 46cd7cd5b0aa1..01b508af578ac 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -190,14 +190,6 @@ class Task implements DimLayer.DimLayerUser { bounds = mTmpRect; mFullscreen = true; } else { - if ((mStack.mStackId != FREEFORM_WORKSPACE_STACK_ID - && mStack.mStackId != PINNED_STACK_ID) || bounds.isEmpty()) { - // ensure bounds are entirely within the display rect - if (!bounds.intersect(mTmpRect)) { - // Can't set bounds outside the containing display...Sorry! - return BOUNDS_CHANGE_NONE; - } - } mFullscreen = mTmpRect.equals(bounds); } } diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java index 9d07fb03cd4c8..81c4b2ac28f41 100644 --- a/services/core/java/com/android/server/wm/TaskStack.java +++ b/services/core/java/com/android/server/wm/TaskStack.java @@ -143,11 +143,6 @@ public class TaskStack implements DimLayer.DimLayerUser { bounds = mTmpRect; mFullscreen = true; } else { - // ensure bounds are entirely within the display rect - if (!bounds.intersect(mTmpRect)) { - // Can't set bounds outside the containing display.. Sorry! - return false; - } mFullscreen = mTmpRect.equals(bounds); } }