am 5d2556b9: Reset the IME if requested by the app.

* commit '5d2556b93286f5f1d7d829b586b84a8b7ae55743':
  Reset the IME if requested by the app.
This commit is contained in:
Ken Wakasa 2012-11-06 14:27:24 -08:00 committed by Android Git Automerger
commit 9cc22c45ec
3 changed files with 35 additions and 0 deletions

View file

@ -200,6 +200,12 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions {
mState.onUpdateShiftState(mLatinIME.getCurrentAutoCapsState());
}
// TODO: Remove this method. Come up with a more comprehensive way to reset the keyboard layout
// when a keyboard layout set doesn't get reloaded in LatinIME.onStartInputViewInternal().
public void resetKeyboardStateToAlphabet() {
mState.onResetKeyboardStateToAlphabet();
}
public void onPressKey(int code) {
if (isVibrateAndSoundFeedbackRequired()) {
mLatinIME.hapticAndAudioFeedback(code);

View file

@ -254,6 +254,22 @@ public final class KeyboardState {
}
}
// TODO: Remove this method. Come up with a more comprehensive way to reset the keyboard layout
// when a keyboard layout set doesn't get reloaded in LatinIME.onStartInputViewInternal().
private void resetKeyboardStateToAlphabet() {
if (DEBUG_ACTION) {
Log.d(TAG, "resetKeyboardStateToAlphabet: " + this);
}
if (mIsAlphabetMode) return;
mPrevSymbolsKeyboardWasShifted = mIsSymbolShifted;
setAlphabetKeyboard();
if (mPrevMainKeyboardWasShiftLocked) {
setShiftLocked(true);
}
mPrevMainKeyboardWasShiftLocked = false;
}
private void toggleShiftInSymbols() {
if (mIsSymbolShifted) {
setSymbolsKeyboard();
@ -380,6 +396,15 @@ public final class KeyboardState {
updateAlphabetShiftState(autoCaps);
}
// TODO: Remove this method. Come up with a more comprehensive way to reset the keyboard layout
// when a keyboard layout set doesn't get reloaded in LatinIME.onStartInputViewInternal().
public void onResetKeyboardStateToAlphabet() {
if (DEBUG_EVENT) {
Log.d(TAG, "onResetKeyboardStateToAlphabet: " + this);
}
resetKeyboardStateToAlphabet();
}
private void updateAlphabetShiftState(int autoCaps) {
if (!mIsAlphabetMode) return;
if (!mShiftKeyState.isReleasing()) {

View file

@ -732,6 +732,10 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
}
switcher.loadKeyboard(editorInfo, mCurrentSettings);
} else if (restarting) {
// TODO: Come up with a more comprehensive way to reset the keyboard layout when
// a keyboard layout set doesn't get reloaded in this method.
switcher.resetKeyboardStateToAlphabet();
}
setSuggestionStripShownInternal(
isSuggestionsStripVisible(), /* needsInputViewShown */ false);