Always present suggestion strip whenever in appropriate mode.
Some cleanups too.
bug: 2959293
Change-Id: Idf07fc25c5700b69b93ab4b09ce34941f0d9c157
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index f26cbc0..74ed90f 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -647,16 +647,14 @@
(attribute.inputType & EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE) == 0) {
mInputTypeNoAutoCorrect = true;
}
- if ((attribute.inputType&EditorInfo.TYPE_TEXT_FLAG_AUTO_COMPLETE) != 0) {
+ if ((attribute.inputType & EditorInfo.TYPE_TEXT_FLAG_AUTO_COMPLETE) != 0) {
mPredictionOn = false;
- mCompletionOn = true && isFullscreenMode();
+ mCompletionOn = isFullscreenMode();
}
- updateShiftKeyState(attribute);
break;
default:
mKeyboardSwitcher.setKeyboardMode(KeyboardSwitcher.MODE_TEXT,
attribute.imeOptions, enableVoiceButton);
- updateShiftKeyState(attribute);
}
inputView.closing();
mComposing.setLength(0);
@@ -666,8 +664,9 @@
loadSettings();
updateShiftKeyState(attribute);
- setCandidatesViewShown(false);
- setSuggestions(null, false, false, false);
+ setCandidatesViewShownInternal(isCandidateStripVisible() || mCompletionOn,
+ false /* needsInputViewShown */ );
+ updateSuggestions();
// If the dictionary is not big enough, don't auto correct
mHasDictionary = mSuggest.hasMainDictionary();
@@ -831,18 +830,21 @@
// When in fullscreen mode, show completions generated by the application
setSuggestions(stringList, true, true, true);
mBestWord = null;
- setCandidatesViewShown(isCandidateStripVisible() || mCompletionOn);
+ setCandidatesViewShown(true);
+ }
+ }
+
+ private void setCandidatesViewShownInternal(boolean shown, boolean needsInputViewShown) {
+ // TODO: Remove this if we support candidates with hard keyboard
+ if (onEvaluateInputViewShown()) {
+ super.setCandidatesViewShown(shown && mKeyboardSwitcher.getInputView() != null
+ && (needsInputViewShown ? mKeyboardSwitcher.getInputView().isShown() : true));
}
}
@Override
public void setCandidatesViewShown(boolean shown) {
- // TODO: Remove this if we support candidates with hard keyboard
- if (onEvaluateInputViewShown()) {
- // Show the candidates view only if input view is showing
- super.setCandidatesViewShown(shown && mKeyboardSwitcher.getInputView() != null
- && mKeyboardSwitcher.getInputView().isShown());
- }
+ setCandidatesViewShownInternal(shown, true /* needsInputViewShown */ );
}
@Override
@@ -1430,8 +1432,7 @@
}
private boolean isPredictionOn() {
- boolean predictionOn = mPredictionOn;
- return predictionOn;
+ return mPredictionOn;
}
private boolean isCandidateStripVisible() {