diff options
| author | Yohei Yukawa <yukawa@google.com> | 2014-06-11 01:56:12 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-06-10 22:29:12 +0000 |
| commit | 04fcf1cabec82b7f2e349658ca764939f5641cc3 (patch) | |
| tree | 88a48f442e9cde6de004834d7e8cea111b20df34 | |
| parent | 65c64c31abaeca044fd997df6f0787dddc611a68 (diff) | |
| parent | 1ee99c4627eeae1a94ada9a884a76b726cf6ca4c (diff) | |
| download | frameworks_base-04fcf1cabec82b7f2e349658ca764939f5641cc3.zip frameworks_base-04fcf1cabec82b7f2e349658ca764939f5641cc3.tar.gz frameworks_base-04fcf1cabec82b7f2e349658ca764939f5641cc3.tar.bz2 | |
Merge "Show IME-related system IME dialogs over windows owned by the IME"
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 2a5dbb4..c5d7a54 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -1484,10 +1484,15 @@ public class WindowManagerService extends IWindowManager.Stub if (pos >= 0) { final AppWindowToken targetAppToken = mInputMethodTarget.mAppToken; - if (pos < windows.size()) { - WindowState wp = windows.get(pos); - if (wp == mInputMethodWindow) { - pos++; + // Skip windows owned by the input method. + if (mInputMethodWindow != null) { + while (pos < windows.size()) { + WindowState wp = windows.get(pos); + if (wp == mInputMethodWindow || wp.mAttachedWindow == mInputMethodWindow) { + pos++; + continue; + } + break; } } if (DEBUG_INPUT_METHOD) Slog.v(TAG, "Adding " + N + " dialogs at pos=" + pos); |
