summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Matthew Ng <ngmatthew@google.com> 2018-05-14 12:45:08 -0700
committer Matthew Ng <ngmatthew@google.com> 2018-05-18 18:27:01 +0000
commit4c76a1ce1d2dd8d49ce424332ea89de1feba5161 (patch)
tree0023235cf9a048d6b44c8e31f9067f7b71546644
parent6b8014f5c850fa5a8dca3423e47110bc8ed5dbfe (diff)
Fixes the secondary splitscreen dimensions
Fixes the splitscreen bounds of other app introduced in ag/3909876 and bound issues related to rotation before splitscreen occurs from landscape to seascape. Fixes: 73250406 Test: splitscreen in seascape Change-Id: I14f9512069b674da7d382ede8514545aabe8c5d7
-rw-r--r--packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java
index 24e39bfdf953..3eb3160b028f 100644
--- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java
+++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java
@@ -778,9 +778,17 @@ public class DividerView extends FrameLayout implements OnTouchListener,
mHandle.setAlpha(minimized ? 0f : 1f);
mDockedStackMinimized = minimized;
} else if (mDockedStackMinimized != minimized) {
- mMinimizedSnapAlgorithm = null;
mDockedStackMinimized = minimized;
- initializeSnapAlgorithm();
+ if (mDisplayRotation != mDefaultDisplay.getRotation()) {
+ // Splitscreen to minimize is about to starts after rotating landscape to seascape,
+ // update insets, display info and snap algorithm targets
+ SystemServicesProxy.getInstance(mContext).getStableInsets(mStableInsets);
+ repositionSnapTargetBeforeMinimized();
+ updateDisplayInfo();
+ } else {
+ mMinimizedSnapAlgorithm = null;
+ initializeSnapAlgorithm();
+ }
if (mIsInMinimizeInteraction != minimized || mCurrentAnimator != null) {
cancelFlingAnimation();
if (minimized) {
@@ -1018,7 +1026,6 @@ public class DividerView extends FrameLayout implements OnTouchListener,
if (mDockSide == DOCKED_RIGHT) {
mDockedTaskRect.offset(Math.max(position, mStableInsets.left - mDividerSize)
- mDockedTaskRect.left + mDividerSize, 0);
- mOtherTaskRect.offset(mStableInsets.left, 0);
}
mWindowManagerProxy.resizeDockedStack(mDockedRect, mDockedTaskRect, mDockedTaskRect,
mOtherTaskRect, null);
@@ -1032,7 +1039,6 @@ public class DividerView extends FrameLayout implements OnTouchListener,
if (mDockSide == DOCKED_RIGHT) {
mDockedTaskRect.offset(Math.max(position, mStableInsets.left - mDividerSize)
- mDockedTaskRect.left + mDividerSize, 0);
- mOtherTaskRect.offset(mStableInsets.left, 0);
}
calculateBoundsForPosition(taskPosition, DockedDividerUtils.invertDockSide(mDockSide),
mOtherTaskRect);
@@ -1049,7 +1055,6 @@ public class DividerView extends FrameLayout implements OnTouchListener,
// Move a right-docked-app to line up with the divider while dragging it
if (mDockSide == DOCKED_RIGHT) {
mDockedTaskRect.offset(position - mStableInsets.left + mDividerSize, 0);
- mOtherTaskRect.offset(mStableInsets.left, 0);
}
mWindowManagerProxy.resizeDockedStack(mDockedRect, mDockedTaskRect, mDockedInsetRect,
mOtherTaskRect, mOtherInsetRect);