summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/inputmethod/InputMethodManager.java1
-rw-r--r--services/core/java/com/android/server/InputMethodManagerService.java7
2 files changed, 7 insertions, 1 deletions
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index e812edd..f2ce113 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -714,6 +714,7 @@ public final class InputMethodManager {
* Reset all of the state associated with being bound to an input method.
*/
void clearBindingLocked() {
+ if (DEBUG) Log.v(TAG, "Clearing binding!");
clearConnectionLocked();
setInputChannelLocked(null);
mBindSequence = -1;
diff --git a/services/core/java/com/android/server/InputMethodManagerService.java b/services/core/java/com/android/server/InputMethodManagerService.java
index 31822e7..5fb6405 100644
--- a/services/core/java/com/android/server/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/InputMethodManagerService.java
@@ -581,7 +581,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
@Override
public void sessionCreated(IInputMethodSession session) {
- mParentIMMS.onSessionCreated(mMethod, session, mChannel);
+ long ident = Binder.clearCallingIdentity();
+ try {
+ mParentIMMS.onSessionCreated(mMethod, session, mChannel);
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
}
}