diff options
author | Carrie Xu <carrie.xu@sonymobile.com> | 2012-10-30 17:28:39 +0800 |
---|---|---|
committer | Takeshi Aimi <takeshi.aimi@sonymobile.com> | 2013-03-18 11:45:14 +0900 |
commit | 5c97184c3a92dd2a608fd031ab5c01574030777a (patch) | |
tree | 7f5d809f080536ab483eac9845fded60fef9b328 /services/java | |
parent | 519ba7b10c4e0da3586aeeaa9696349f28313898 (diff) | |
download | frameworks_base-5c97184c3a92dd2a608fd031ab5c01574030777a.zip frameworks_base-5c97184c3a92dd2a608fd031ab5c01574030777a.tar.gz frameworks_base-5c97184c3a92dd2a608fd031ab5c01574030777a.tar.bz2 |
Correct the target app token for input method window
The root cause is:
There is a defect in window manager service: When a new
activity that can be ime target is added into window manager
but the Z order of input method window don't need to be
changed, then the target app token of input method window
would not be updated to new one. This defect may cause that
the layer of input method window is calculated incorrectly.
The solution:
Correct the target app token for input method window.
Change-Id: I008311e3c9b1cf5fc320b614d8675c183c506d50
Diffstat (limited to 'services/java')
-rw-r--r-- | services/java/com/android/server/wm/WindowManagerService.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 0466c15..194c750 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -1514,7 +1514,11 @@ public class WindowManagerService extends IWindowManager.Stub pos++; } if (pos >= N) { - // All is good! + // Z order is good. + // The IM target window may be changed, so update the mTargetAppToken. + if (imWin != null) { + imWin.mTargetAppToken = mInputMethodTarget.mAppToken; + } return false; } } |