Merge "Call assignLayersLocked when InputMethod is moved."

This commit is contained in:
Craig Mautner
2013-01-10 17:33:27 -08:00
committed by Android (Google) Code Review

View File

@@ -2854,18 +2854,15 @@ public class WindowManagerService extends IWindowManager.Stub
// updateFocusedWindowLocked() already assigned layers so we only need to // updateFocusedWindowLocked() already assigned layers so we only need to
// reassign them at this point if the IM window state gets shuffled // reassign them at this point if the IM window state gets shuffled
boolean assignLayers = false; if (imMayMove && (moveInputMethodWindowsIfNeededLocked(false) || toBeDisplayed)) {
// Little hack here -- we -should- be able to rely on the
if (imMayMove) { // function to return true if the IME has moved and needs
if (moveInputMethodWindowsIfNeededLocked(false) || toBeDisplayed) { // its layer recomputed. However, if the IME was hidden
// Little hack here -- we -should- be able to rely on the // and isn't actually moved in the list, its layer may be
// function to return true if the IME has moved and needs // out of data so we make sure to recompute it.
// its layer recomputed. However, if the IME was hidden assignLayersLocked(win.getWindowList());
// and isn't actually moved in the list, its layer may be
// out of data so we make sure to recompute it.
assignLayers = true;
}
} }
if (wallpaperMayMove) { if (wallpaperMayMove) {
getDefaultDisplayContentLocked().pendingLayoutChanges |= getDefaultDisplayContentLocked().pendingLayoutChanges |=
WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER; WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;