am 4eef5101: am aa5d6fe0: am 9cc22c45: am 5d2556b9: Reset the IME if requested by the app.
* commit '4eef51016adc4e103fa65d944a0ab31527ddced8':
Reset the IME if requested by the app.
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index edcd888..926f3ec 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -204,6 +204,12 @@
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()) {
mFeedbackManager.hapticAndAudioFeedback(code, mKeyboardView);
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
index 5f67ae0..2e4a0ee 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java
@@ -253,6 +253,22 @@
}
}
+ // 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();
@@ -379,6 +395,15 @@
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()) {
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 2af7b1d..5f87c8c 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -730,6 +730,10 @@
}
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);