From b5eb550fb10ad7c54be489a89a08fc3fb10fbe53 Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Thu, 10 Jan 2013 17:29:30 -0800 Subject: [PATCH] Call assignLayersLocked when InputMethod is moved. Call was removed by over-ambitious editing in CL 259410. Fixes bug 7966824. Change-Id: I9feb2ec27907f4e03b9424710adc2743a8b512d8 --- .../server/wm/WindowManagerService.java | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index dd99322a3ba42..a488b8489db37 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -2854,18 +2854,15 @@ public class WindowManagerService extends IWindowManager.Stub // updateFocusedWindowLocked() already assigned layers so we only need to // reassign them at this point if the IM window state gets shuffled - boolean assignLayers = false; - - if (imMayMove) { - if (moveInputMethodWindowsIfNeededLocked(false) || toBeDisplayed) { - // Little hack here -- we -should- be able to rely on the - // function to return true if the IME has moved and needs - // its layer recomputed. However, if the IME was hidden - // 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 (imMayMove && (moveInputMethodWindowsIfNeededLocked(false) || toBeDisplayed)) { + // Little hack here -- we -should- be able to rely on the + // function to return true if the IME has moved and needs + // its layer recomputed. However, if the IME was hidden + // and isn't actually moved in the list, its layer may be + // out of data so we make sure to recompute it. + assignLayersLocked(win.getWindowList()); } + if (wallpaperMayMove) { getDefaultDisplayContentLocked().pendingLayoutChanges |= WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;