Loading services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +13 −13 Original line number Diff line number Diff line Loading @@ -1626,6 +1626,10 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } mHandler.removeCallbacks(mUserSwitchHandlerTask); } // Hide soft input before user switch task since switch task may block main handler a while // and delayed the MSG_HIDE_SOFT_INPUT. hideCurrentInputLocked( mCurFocusedWindow, 0, null, SoftInputShowHideReason.HIDE_SWITCH_USER); final UserSwitchHandlerTask task = new UserSwitchHandlerTask(this, userId, clientToBeReset); mUserSwitchHandlerTask = task; Loading Loading @@ -1751,11 +1755,8 @@ public class InputMethodManagerService extends IInputMethodManager.Stub final boolean initialUserSwitch = TextUtils.isEmpty(defaultImiId); mLastSystemLocales = mRes.getConfiguration().getLocales(); // TODO: Is it really possible that switchUserLocked() happens before system ready? if (mSystemReady) { hideCurrentInputLocked( mCurFocusedWindow, 0, null, SoftInputShowHideReason.HIDE_SWITCH_USER); // The mSystemReady flag is set during boot phase, // and user switch would not happen at that time. resetCurrentMethodAndClient(UnbindReason.SWITCH_USER); buildInputMethodListLocked(initialUserSwitch); if (TextUtils.isEmpty(mSettings.getSelectedInputMethod())) { Loading @@ -1764,7 +1765,6 @@ public class InputMethodManagerService extends IInputMethodManager.Stub resetDefaultImeLocked(mContext); } updateFromSettingsLocked(true); } if (initialUserSwitch) { InputMethodUtils.setNonSelectedSystemImesDisabledUntilUsed(mIPackageManager, Loading Loading
services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +13 −13 Original line number Diff line number Diff line Loading @@ -1626,6 +1626,10 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } mHandler.removeCallbacks(mUserSwitchHandlerTask); } // Hide soft input before user switch task since switch task may block main handler a while // and delayed the MSG_HIDE_SOFT_INPUT. hideCurrentInputLocked( mCurFocusedWindow, 0, null, SoftInputShowHideReason.HIDE_SWITCH_USER); final UserSwitchHandlerTask task = new UserSwitchHandlerTask(this, userId, clientToBeReset); mUserSwitchHandlerTask = task; Loading Loading @@ -1751,11 +1755,8 @@ public class InputMethodManagerService extends IInputMethodManager.Stub final boolean initialUserSwitch = TextUtils.isEmpty(defaultImiId); mLastSystemLocales = mRes.getConfiguration().getLocales(); // TODO: Is it really possible that switchUserLocked() happens before system ready? if (mSystemReady) { hideCurrentInputLocked( mCurFocusedWindow, 0, null, SoftInputShowHideReason.HIDE_SWITCH_USER); // The mSystemReady flag is set during boot phase, // and user switch would not happen at that time. resetCurrentMethodAndClient(UnbindReason.SWITCH_USER); buildInputMethodListLocked(initialUserSwitch); if (TextUtils.isEmpty(mSettings.getSelectedInputMethod())) { Loading @@ -1764,7 +1765,6 @@ public class InputMethodManagerService extends IInputMethodManager.Stub resetDefaultImeLocked(mContext); } updateFromSettingsLocked(true); } if (initialUserSwitch) { InputMethodUtils.setNonSelectedSystemImesDisabledUntilUsed(mIPackageManager, Loading