Call showInputMethodPicker instead of showInputMethodSubtypePicker
- because showInputMethodSubtypePicker will be removed. Change-Id: I255f9bbff77de24ce067f35ee101d368e36edd45
This commit is contained in:
parent
1fb28137f4
commit
79efbed76f
3 changed files with 22 additions and 20 deletions
|
@ -23,6 +23,7 @@ import android.preference.PreferenceManager;
|
|||
import android.util.Log;
|
||||
import android.view.InflateException;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
|
||||
import java.lang.ref.SoftReference;
|
||||
import java.util.Arrays;
|
||||
|
@ -746,7 +747,9 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
|
|||
// 2) SETTINGS_KEY_MODE_AUTO and there are two or more enabled IMEs on the system
|
||||
if (settingsKeyMode.equals(resources.getString(SETTINGS_KEY_MODE_ALWAYS_SHOW))
|
||||
|| (settingsKeyMode.equals(resources.getString(SETTINGS_KEY_MODE_AUTO))
|
||||
&& LatinIMEUtil.hasMultipleEnabledIMEs(context))) {
|
||||
&& LatinIMEUtil.hasMultipleEnabledIMEsOrSubtypes(
|
||||
((InputMethodManager) context.getSystemService(
|
||||
Context.INPUT_METHOD_SERVICE))))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -134,6 +134,7 @@ public class LatinIME extends InputMethodService
|
|||
|
||||
private AlertDialog mOptionsDialog;
|
||||
|
||||
private InputMethodManager mImm;
|
||||
private KeyboardSwitcher mKeyboardSwitcher;
|
||||
private SubtypeSwitcher mSubtypeSwitcher;
|
||||
private VoiceIMEConnector mVoiceConnector;
|
||||
|
@ -147,9 +148,8 @@ public class LatinIME extends InputMethodService
|
|||
|
||||
private final StringBuilder mComposing = new StringBuilder();
|
||||
private WordComposer mWord = new WordComposer();
|
||||
private int mCommittedLength;
|
||||
private boolean mPredicting;
|
||||
private CharSequence mBestWord;
|
||||
private boolean mPredicting;
|
||||
private boolean mPredictionOn;
|
||||
private boolean mCompletionOn;
|
||||
private boolean mHasDictionary;
|
||||
|
@ -164,13 +164,14 @@ public class LatinIME extends InputMethodService
|
|||
private boolean mPopupOn;
|
||||
private boolean mAutoCap;
|
||||
private boolean mQuickFixes;
|
||||
private int mCorrectionMode;
|
||||
|
||||
private int mOrientation;
|
||||
private List<CharSequence> mSuggestPuncList;
|
||||
private int mCorrectionMode;
|
||||
private int mCommittedLength;
|
||||
private int mOrientation;
|
||||
// Keep track of the last selection range to decide if we need to show word alternatives
|
||||
private int mLastSelectionStart;
|
||||
private int mLastSelectionEnd;
|
||||
private int mLastSelectionStart;
|
||||
private int mLastSelectionEnd;
|
||||
private List<CharSequence> mSuggestPuncList;
|
||||
|
||||
// Input type is such that we should not auto-correct
|
||||
private boolean mInputTypeNoAutoCorrect;
|
||||
|
@ -337,6 +338,7 @@ public class LatinIME extends InputMethodService
|
|||
super.onCreate();
|
||||
//setStatusIcon(R.drawable.ime_qwerty);
|
||||
mResources = getResources();
|
||||
mImm = ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE));
|
||||
final Configuration conf = mResources.getConfiguration();
|
||||
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
mSubtypeSwitcher = SubtypeSwitcher.getInstance();
|
||||
|
@ -1041,14 +1043,9 @@ public class LatinIME extends InputMethodService
|
|||
}
|
||||
}
|
||||
|
||||
private void showInputMethodSubtypePicker() {
|
||||
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
|
||||
.showInputMethodSubtypePicker();
|
||||
}
|
||||
|
||||
private void onOptionKeyPressed() {
|
||||
if (!isShowingOptionDialog()) {
|
||||
if (LatinIMEUtil.hasMultipleEnabledIMEs(this)) {
|
||||
if (LatinIMEUtil.hasMultipleEnabledIMEsOrSubtypes(mImm)) {
|
||||
showOptionsMenu();
|
||||
} else {
|
||||
launchSettings();
|
||||
|
@ -1058,8 +1055,8 @@ public class LatinIME extends InputMethodService
|
|||
|
||||
private void onOptionKeyLongPressed() {
|
||||
if (!isShowingOptionDialog()) {
|
||||
if (LatinIMEUtil.hasMultipleEnabledIMEs(this)) {
|
||||
showInputMethodSubtypePicker();
|
||||
if (LatinIMEUtil.hasMultipleEnabledIMEsOrSubtypes(mImm)) {
|
||||
mImm.showInputMethodPicker();
|
||||
} else {
|
||||
launchSettings();
|
||||
}
|
||||
|
@ -2177,7 +2174,7 @@ public class LatinIME extends InputMethodService
|
|||
launchSettings();
|
||||
break;
|
||||
case POS_METHOD:
|
||||
showInputMethodSubtypePicker();
|
||||
mImm.showInputMethodPicker();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -91,9 +91,11 @@ public class LatinIMEUtil {
|
|||
}
|
||||
}
|
||||
|
||||
public static boolean hasMultipleEnabledIMEs(Context context) {
|
||||
return ((InputMethodManager) context.getSystemService(
|
||||
Context.INPUT_METHOD_SERVICE)).getEnabledInputMethodList().size() > 1;
|
||||
public static boolean hasMultipleEnabledIMEsOrSubtypes(InputMethodManager imm) {
|
||||
return imm.getEnabledInputMethodList().size() > 1
|
||||
// imm.getEnabledInputMethodSubtypeList(null) will return the current IME's enabled input
|
||||
// method subtype (The current IME should be LatinIME.)
|
||||
|| imm.getEnabledInputMethodSubtypeList(null).size() > 1;
|
||||
}
|
||||
|
||||
/* package */ static class RingCharBuffer {
|
||||
|
|
Loading…
Reference in a new issue