diff options
| author | 2016-04-07 13:52:43 -0700 | |
|---|---|---|
| committer | 2016-04-07 13:52:43 -0700 | |
| commit | fd2bd1b343619cec59a28a58e2e9caa7f65f022d (patch) | |
| tree | 93cd1b1076663569cd1d99f13e0ab7eef5a564af | |
| parent | cff102508cf4cf1d2f298ebdba663bd27c458520 (diff) | |
Fix regression breaking SurfaceView in docked.
We don't need to subtract the insets again when
we are laying out in the attached window frame,
as pf will already have them subtracted.
Bug: 27687126
Change-Id: If9c093c5a811ceb7b62bd27a1dd17742b04d898e
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index ddfc022aeb3f..de485de3a8d5 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -734,8 +734,10 @@ final class WindowState implements WindowManagerPolicy.WindowState { layoutYDiff = !mInsetFrame.isEmpty() ? mInsetFrame.top - mContainingFrame.top : 0; layoutContainingFrame = !mInsetFrame.isEmpty() ? mInsetFrame : mContainingFrame; subtractInsets(mDisplayFrame, layoutContainingFrame, df); - subtractInsets(mContainingFrame, layoutContainingFrame, pf); - subtractInsets(mInsetFrame, layoutContainingFrame, pf); + if (!layoutInParentFrame()) { + subtractInsets(mContainingFrame, layoutContainingFrame, pf); + subtractInsets(mInsetFrame, layoutContainingFrame, pf); + } layoutDisplayFrame = df; layoutDisplayFrame.intersect(layoutContainingFrame); } |