diff options
| author | 2016-06-30 11:34:21 +0530 | |
|---|---|---|
| committer | 2016-09-16 03:41:46 +0000 | |
| commit | fa1886feea55785f413f5efcd86bccca92f26759 (patch) | |
| tree | 948877aebd186c4475e4313a09d52aab72db0113 | |
| parent | 9d9cf5b383f26c209b781dbca0723f69ff6913ba (diff) | |
Remove synchronization from getCurrentInputMethodSubtype()
getCurrentInputMethodSubtype() acquires InputManagerService.mMethodMap
within its body. There seems to be no reason for holding
InputMethodManager.mH to call getCurrentInputMethodSubtype(). Holding mH
can cause potential deadlock b/w two threads acquiring mH and mMethodMap
in different orders.
Bug: 31247871
Bug: 31273203
Bug: b.android.com/218423
Change-Id: I20cf2c20f49b1b02c0f7a18257b49d4bcc081b5d
| -rw-r--r-- | core/java/android/view/inputmethod/InputMethodManager.java | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index 4013b30fce06..0b7ac88c6925 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -2053,12 +2053,10 @@ public final class InputMethodManager { * have any input method subtype. */ public InputMethodSubtype getCurrentInputMethodSubtype() { - synchronized (mH) { - try { - return mService.getCurrentInputMethodSubtype(); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } + try { + return mService.getCurrentInputMethodSubtype(); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); } } |