From 6b6838e9679852e3a39a924c2c1437bd429df8df Mon Sep 17 00:00:00 2001 From: tiger_huang Date: Thu, 29 Jan 2015 19:54:12 +0800 Subject: [PATCH] Layout the window to be displayed if it would be resized This patch fixes an issue which caused the resumed app to get the wrong insets at first. https://code.google.com/p/android/issues/detail?id=120421 Change-Id: I38c58121465372d1d66a7a98e386b0396d7d0f89 --- .../core/java/com/android/server/wm/WindowManagerService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index c80d0e1486da7..e90f64859ac2c 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -3083,6 +3083,10 @@ public class WindowManagerService extends IWindowManager.Stub winAnimator.mEnterAnimationPending = true; } if (toBeDisplayed) { + if ((win.mAttrs.softInputMode & SOFT_INPUT_MASK_ADJUST) + == SOFT_INPUT_ADJUST_RESIZE) { + win.mLayoutNeeded = true; + } if (win.isDrawnLw() && okToDisplay()) { winAnimator.applyEnterAnimationLocked(); }