summaryrefslogtreecommitdiffstats
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
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
-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;
}
}