Call showInputMethodPicker instead of showInputMethodSubtypePicker

- because showInputMethodSubtypePicker will be removed.

Change-Id: I255f9bbff77de24ce067f35ee101d368e36edd45
main
satok 2010-11-25 09:20:28 +09:00
parent 1fb28137f4
commit 79efbed76f
3 changed files with 22 additions and 20 deletions

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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 {