diff options
| author | 2018-05-14 12:45:08 -0700 | |
|---|---|---|
| committer | 2018-05-18 18:27:01 +0000 | |
| commit | 4c76a1ce1d2dd8d49ce424332ea89de1feba5161 (patch) | |
| tree | 0023235cf9a048d6b44c8e31f9067f7b71546644 | |
| parent | 6b8014f5c850fa5a8dca3423e47110bc8ed5dbfe (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.java | 15 |
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); |