summaryrefslogtreecommitdiffstats
path: root/services/java
diff options
context:
space:
mode:
authorCarrie Xu <carrie.xu@sonymobile.com>2012-10-30 17:28:39 +0800
committerTakeshi Aimi <takeshi.aimi@sonymobile.com>2013-03-18 11:45:14 +0900
commit5c97184c3a92dd2a608fd031ab5c01574030777a (patch)
tree7f5d809f080536ab483eac9845fded60fef9b328 /services/java
parent519ba7b10c4e0da3586aeeaa9696349f28313898 (diff)
downloadframeworks_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.java6
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;
}
}