From f73883f69d64efda2515b8d495e49e35211c92a1 Mon Sep 17 00:00:00 2001 From: tiger_huang Date: Wed, 10 Dec 2014 16:26:17 +0800 Subject: [PATCH] Layout the config-changed window if it has surface This patch fixes an issue which caused the resumed app to get the wrong frame at first. https://code.google.com/p/android/issues/detail?id=82242 Change-Id: I4483029326afca143e7921f3b9563da4f566d2e5 --- .../core/java/com/android/server/wm/WindowManagerService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 1c03cedff31ea..c80d0e1486da7 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -8796,7 +8796,8 @@ public class WindowManagerService extends IWindowManager.Stub if (!gone || !win.mHaveFrame || win.mLayoutNeeded || ((win.isConfigChanged() || win.setInsetsChanged()) && ((win.mAttrs.privateFlags & PRIVATE_FLAG_KEYGUARD) != 0 || - win.mAppToken != null && win.mAppToken.layoutConfigChanges)) + (win.mHasSurface && win.mAppToken != null && + win.mAppToken.layoutConfigChanges))) || win.mAttrs.type == TYPE_UNIVERSE_BACKGROUND) { if (!win.mLayoutAttached) { if (initial) {