summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author tiger_huang <tiger_huang@htc.com> 2014-12-10 16:26:17 +0800
committer tiger_huang <tiger_huang@htc.com> 2014-12-19 13:19:36 +0800
commitf73883f69d64efda2515b8d495e49e35211c92a1 (patch)
tree3ae4dd205ce7c6a850edd0cfcddd72f24c199b3a
parent93241de734c3b9cf20e8e8956e6f6ccacc5b5ef2 (diff)
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
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 1c03cedff31e..c80d0e1486da 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) {