summaryrefslogtreecommitdiffstats
path: root/services/java
diff options
context:
space:
mode:
Diffstat (limited to 'services/java')
-rwxr-xr-xservices/java/com/android/server/wm/WindowManagerService.java1
-rw-r--r--services/java/com/android/server/wm/WindowState.java6
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;
}