summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dianne Hackborn <hackbod@google.com> 2014-03-24 11:27:18 -0700
committer Dianne Hackborn <hackbod@google.com> 2014-03-24 11:28:27 -0700
commit6b6b3fdbf5547417fde3ce56d9eb883963a54b58 (patch)
tree9c426deb9bfe423905e54c19107d510d3fe6cd90
parente9c9c441346586e26eccc0523fcf12f5158e53f7 (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
-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 e812edd57246..f2ce113aab90 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 31822e71f429..5fb64056cd21 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);
+ }
}
}