diff --git a/services/core/java/com/android/server/InputMethodManagerService.java b/services/core/java/com/android/server/InputMethodManagerService.java index 2aa17c0209e1e..101b73834cb62 100644 --- a/services/core/java/com/android/server/InputMethodManagerService.java +++ b/services/core/java/com/android/server/InputMethodManagerService.java @@ -727,7 +727,8 @@ public class InputMethodManagerService extends IInputMethodManager.Stub mPackagesToMonitorComponentChange.add(packageName); } - private boolean isChangingPackagesOfCurrentUser() { + @GuardedBy("mMethodMap") + private boolean isChangingPackagesOfCurrentUserLocked() { final int userId = getChangingUserId(); final boolean retval = userId == mSettings.getCurrentUserId(); if (DEBUG) { @@ -740,10 +741,10 @@ public class InputMethodManagerService extends IInputMethodManager.Stub @Override public boolean onHandleForceStop(Intent intent, String[] packages, int uid, boolean doit) { - if (!isChangingPackagesOfCurrentUser()) { - return false; - } synchronized (mMethodMap) { + if (!isChangingPackagesOfCurrentUserLocked()) { + return false; + } String curInputMethodId = mSettings.getSelectedInputMethod(); final int N = mMethodList.size(); if (curInputMethodId != null) { @@ -777,10 +778,10 @@ public class InputMethodManagerService extends IInputMethodManager.Stub @Override public void onSomePackagesChanged() { - if (!isChangingPackagesOfCurrentUser()) { - return; - } synchronized (mMethodMap) { + if (!isChangingPackagesOfCurrentUserLocked()) { + return; + } InputMethodInfo curIm = null; String curInputMethodId = mSettings.getSelectedInputMethod(); final int N = mMethodList.size();