Merge "Make sure that Toast is always shown by Meta-Space." into nyc-dev

This commit is contained in:
Yohei Yukawa
2016-04-12 16:22:46 +00:00
committed by Android (Google) Code Review

View File

@@ -2966,16 +2966,6 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
return; return;
} }
setInputMethodLocked(nextSubtype.mImi.getId(), nextSubtype.mSubtypeId); setInputMethodLocked(nextSubtype.mImi.getId(), nextSubtype.mSubtypeId);
if (mSubtypeSwitchedByShortCutToast != null) {
mSubtypeSwitchedByShortCutToast.cancel();
mSubtypeSwitchedByShortCutToast = null;
}
if ((mImeWindowVis & InputMethodService.IME_VISIBLE) != 0) {
// IME window is shown. The user should be able to visually understand that the
// subtype is changed in most of cases. To avoid UI overlap, we do not show a toast
// in this case.
return;
}
final InputMethodInfo newInputMethodInfo = mMethodMap.get(mCurMethodId); final InputMethodInfo newInputMethodInfo = mMethodMap.get(mCurMethodId);
if (newInputMethodInfo == null) { if (newInputMethodInfo == null) {
return; return;
@@ -2983,8 +2973,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
final CharSequence toastText = InputMethodUtils.getImeAndSubtypeDisplayName(mContext, final CharSequence toastText = InputMethodUtils.getImeAndSubtypeDisplayName(mContext,
newInputMethodInfo, mCurrentSubtype); newInputMethodInfo, mCurrentSubtype);
if (!TextUtils.isEmpty(toastText)) { if (!TextUtils.isEmpty(toastText)) {
mSubtypeSwitchedByShortCutToast = Toast.makeText(mContext, toastText.toString(), if (mSubtypeSwitchedByShortCutToast == null) {
Toast.LENGTH_SHORT); mSubtypeSwitchedByShortCutToast = Toast.makeText(mContext, toastText,
Toast.LENGTH_SHORT);
} else {
mSubtypeSwitchedByShortCutToast.setText(toastText);
}
mSubtypeSwitchedByShortCutToast.show(); mSubtypeSwitchedByShortCutToast.show();
} }
} }