From 6e18c5edb5494c4889f9910a8679872df5fa4d6e Mon Sep 17 00:00:00 2001 From: Robert Carr Date: Mon, 29 Feb 2016 15:57:13 -0800 Subject: [PATCH] Update mCompatFrame in applyGravityAndUpdateFrame. We need to make sure mCompatFrame is always updated when mFrame is. In the reposition child case we will have applyGravityAndUpdateFrame without computeFrameLw so we were previously failing to do so. Bug: 26454664 Change-Id: Ibad1644d38e6d78e5e96eff7b3c6763bd1c92f9b --- services/core/java/com/android/server/wm/WindowState.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 818a3f541a62e..151b74e3907a8 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -2540,6 +2540,14 @@ final class WindowState implements WindowManagerPolicy.WindowState { if (fitToDisplay) { Gravity.applyDisplay(mAttrs.gravity, mDisplayFrame, mFrame); } + + // We need to make sure we update the CompatFrame as it is used for + // cropping decisions, etc, on systems where we lack a decor layer. + mCompatFrame.set(mFrame); + if (mEnforceSizeCompat) { + // See comparable block in computeFrameLw. + mCompatFrame.scale(mInvGlobalScale); + } } boolean isChildWindow() {