From c593380d1bccbfbd45c404954b2670b65acc287f Mon Sep 17 00:00:00 2001 From: satok Date: Wed, 31 Aug 2011 21:26:04 +0900 Subject: Fix crash in setAdditionalInputMethodSubtypes Bug: 5142455 Change-Id: I5eca4c1a3d9a964db04c819fc671670ef1b81817 --- services/java/com/android/server/InputMethodManagerService.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'services/java/com/android/server/InputMethodManagerService.java') diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java index ba2438beafbd..bb831f51d07d 100644 --- a/services/java/com/android/server/InputMethodManagerService.java +++ b/services/java/com/android/server/InputMethodManagerService.java @@ -1682,7 +1682,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub for (int i = 0; i < packageNum; ++i) { if (packageInfos[i].equals(imi.getPackageName())) { mFileManager.addInputMethodSubtypes(imi, subtypes); - buildInputMethodListLocked(mMethodList, mMethodMap); + final long ident = Binder.clearCallingIdentity(); + try { + buildInputMethodListLocked(mMethodList, mMethodMap); + } finally { + Binder.restoreCallingIdentity(ident); + } return true; } } @@ -1707,7 +1712,7 @@ public class InputMethodManagerService extends IInputMethodManager.Stub return; } - long ident = Binder.clearCallingIdentity(); + final long ident = Binder.clearCallingIdentity(); try { setInputMethodLocked(id, subtypeId); } finally { -- cgit v1.2.3