diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java index 667b5449439bd..26cf55f848d27 100644 --- a/services/java/com/android/server/WindowManagerService.java +++ b/services/java/com/android/server/WindowManagerService.java @@ -929,6 +929,10 @@ public class WindowManagerService extends IWindowManager.Stub && w.mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING && i > 0) { WindowState wb = localmWindows.get(i-1); + while (i > 1 && wb.mAppToken == w.mAppToken && !canBeImeTarget(wb)) { + i--; + wb = localmWindows.get(i-1); + } if (wb.mAppToken == w.mAppToken && canBeImeTarget(wb)) { i--; w = wb;