Merge "[wm]: Freeform window layout while SIP showing"
This commit is contained in:
committed by
Android (Google) Code Review
commit
d28a099f9e
@@ -2744,7 +2744,13 @@ class Task extends WindowContainer<WindowContainer> {
|
||||
getDimBounds(mTmpDimBoundsRect);
|
||||
|
||||
// Bounds need to be relative, as the dim layer is a child.
|
||||
mTmpDimBoundsRect.offsetTo(0, 0);
|
||||
if (inFreeformWindowingMode()) {
|
||||
getBounds(mTmpRect);
|
||||
mTmpDimBoundsRect.offsetTo(mTmpDimBoundsRect.left - mTmpRect.left,
|
||||
mTmpDimBoundsRect.top - mTmpRect.top);
|
||||
} else {
|
||||
mTmpDimBoundsRect.offsetTo(0, 0);
|
||||
}
|
||||
if (mDimmer.updateDims(getPendingTransaction(), mTmpDimBoundsRect)) {
|
||||
scheduleAnimation();
|
||||
}
|
||||
|
||||
@@ -984,8 +984,11 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
final int layoutXDiff;
|
||||
final int layoutYDiff;
|
||||
final WindowState imeWin = mWmService.mRoot.getCurrentInputMethodWindow();
|
||||
final boolean isInputMethodAdjustTarget = windowsAreFloating
|
||||
? dc.mInputMethodTarget != null && task == dc.mInputMethodTarget.getTask()
|
||||
: isInputMethodTarget();
|
||||
final boolean isImeTarget =
|
||||
imeWin != null && imeWin.isVisibleNow() && isInputMethodTarget();
|
||||
imeWin != null && imeWin.isVisibleNow() && isInputMethodAdjustTarget;
|
||||
if (isFullscreenAndFillsDisplay || layoutInParentFrame()) {
|
||||
// We use the parent frame as the containing frame for fullscreen and child windows
|
||||
mWindowFrames.mContainingFrame.set(mWindowFrames.mParentFrame);
|
||||
@@ -1016,7 +1019,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
final int distanceToTop = Math.max(mWindowFrames.mContainingFrame.top
|
||||
- mWindowFrames.mContentFrame.top, 0);
|
||||
int offs = Math.min(bottomOverlap, distanceToTop);
|
||||
mWindowFrames.mContainingFrame.top -= offs;
|
||||
mWindowFrames.mContainingFrame.offset(0, -offs);
|
||||
mInsetFrame.offset(0, -offs);
|
||||
}
|
||||
} else if (!inPinnedWindowingMode() && mWindowFrames.mContainingFrame.bottom
|
||||
> mWindowFrames.mParentFrame.bottom) {
|
||||
|
||||
Reference in New Issue
Block a user