commit | 6b6b3fdbf5547417fde3ce56d9eb883963a54b58 | [log] [tgz] |
---|---|---|
author | Dianne Hackborn <hackbod@google.com> | Mon Mar 24 11:27:18 2014 -0700 |
committer | Dianne Hackborn <hackbod@google.com> | Mon Mar 24 11:28:27 2014 -0700 |
tree | 9c426deb9bfe423905e54c19107d510d3fe6cd90 | |
parent | e9c9c441346586e26eccc0523fcf12f5158e53f7 [diff] |
Fix issue #13564072: Back button no longer dismisses IME after voice usage Calling identity wasn't being cleared in an incoming code path. Change-Id: Ib32060a91bf81531de049fafde69835b5382a25f
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 @@ * 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 @@ @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); + } } }