diff options
Diffstat (limited to 'services/java')
-rwxr-xr-x | services/java/com/android/server/wm/WindowManagerService.java | 1 | ||||
-rw-r--r-- | services/java/com/android/server/wm/WindowState.java | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 54f6deb..77d815b 100755 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -1213,6 +1213,7 @@ public class WindowManagerService extends IWindowManager.Stub final WindowState curTarget = mInputMethodTarget; if (curTarget != null && w != null && curTarget.isDisplayedLw() + && curTarget.isClosing() && (curTarget.mWinAnimator.mAnimLayer > w.mWinAnimator.mAnimLayer)) { if (DEBUG_INPUT_METHOD) Slog.v(TAG, "Current target higher, not changing"); return windows.indexOf(curTarget) + 1; diff --git a/services/java/com/android/server/wm/WindowState.java b/services/java/com/android/server/wm/WindowState.java index 23892f6..feb29b1 100644 --- a/services/java/com/android/server/wm/WindowState.java +++ b/services/java/com/android/server/wm/WindowState.java @@ -1024,6 +1024,10 @@ final class WindowState implements WindowManagerPolicy.WindowState { return mClient.asBinder().isBinderAlive(); } + boolean isClosing() { + return mExiting || (mService.mClosingApps.contains(mAppToken)); + } + @Override public boolean isDefaultDisplay() { return mDisplayContent.isDefaultDisplay; @@ -1234,7 +1238,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { mWasPaused = mToken.paused; mStringNameCache = "Window{" + Integer.toHexString(System.identityHashCode(this)) + " u" + UserHandle.getUserId(mSession.mUid) - + " " + mLastTitle + (mWasPaused ? " PAUSED}" : "}"); + + " " + mLastTitle + (mExiting ? " EXITING}" : "}"); } return mStringNameCache; } |