From daab865344fcfa45fe2789e43462f730a44fba64 Mon Sep 17 00:00:00 2001 From: Wale Ogunwale Date: Thu, 23 Feb 2017 22:11:36 -0800 Subject: [PATCH] Have WM use token info. from IMMS to determine IME target window Window Manager currently places the IME above the highest window that can possibly be using the IME. While this method works for most cases, it does cause some animation jank if the window making the IME visible is below an other window that could possibly make the IME visible, but isn't. When this happens the IME is displayed on-top of which we don't want since the top app isn't making the IME visible. We now rely on a strong signal from the input method manager service WMS.updateInputMethodWindowStatus() to depend which window is actually using the IME so the window manager can z-order things correctly. Fixes: 31559891 Test: bit FrameworksServicesTests:com.android.server.wm.DisplayContentTests Change-Id: I524aa9dbeb764aac15034a13adf9381304c38fa6 --- .../com/android/server/wm/DisplayContent.java | 19 ++++++- .../server/wm/WindowManagerService.java | 50 +++++++++++++------ .../server/wm/DisplayContentTests.java | 16 ++++++ .../android/server/wm/WindowTestsBase.java | 10 ++-- 4 files changed, 75 insertions(+), 20 deletions(-) diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 2c315445577d3..2f9868e059d3b 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -1588,9 +1588,24 @@ class DisplayContent extends WindowContainer