diff options
-rw-r--r-- | core/java/android/view/inputmethod/InputMethodManager.java | 1 | ||||
-rw-r--r-- | services/core/java/com/android/server/InputMethodManagerService.java | 7 |
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); + } } } |