diff options
Diffstat (limited to 'java/src/com/android/inputmethod/latin/LatinIME.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 44 |
1 files changed, 14 insertions, 30 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index ba7503dae..ba6dac6a2 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1010,9 +1010,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen false /* isObsoleteSuggestions */, false /* isPrediction */); // When in fullscreen mode, show completions generated by the application - setSuggestedWords(suggestedWords); - setAutoCorrectionIndicator(false); - setSuggestionStripShown(true); + setSuggestedWords(suggestedWords, true /* shouldShow */); if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) { ResearchLogger.latinIME_onDisplayCompletions(applicationSpecifiedCompletions); } @@ -1035,10 +1033,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } } - private void setSuggestionStripShown(final boolean shown) { - setSuggestionStripShownInternal(shown, /* needsInputViewShown */true); - } - private int getAdjustedBackingViewHeight() { final int currentHeight = mKeyPreviewBackingView.getHeight(); if (currentHeight > 0) { @@ -1330,15 +1324,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } // TODO[IL]: Define a clear interface for this - public void setSuggestedWords(final SuggestedWords words) { - mInputLogic.mSuggestedWords = words; + public void setSuggestedWords(final SuggestedWords words, final boolean shouldShow) { if (mSuggestionStripView != null) { mSuggestionStripView.setSuggestions(words); mKeyboardSwitcher.onAutoCorrectionStateChanged(words.mWillAutoCorrect); } - } - - private void setAutoCorrectionIndicator(final boolean newAutoCorrectionIndicator) { + mInputLogic.mSuggestedWords = words; + final boolean newAutoCorrectionIndicator = words.mWillAutoCorrect; // Put a blue underline to a word in TextView which will be auto-corrected. if (mInputLogic.mIsAutoCorrectionIndicatorOn != newAutoCorrectionIndicator && mInputLogic.mWordComposer.isComposingWord()) { @@ -1351,6 +1343,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // the practice. mInputLogic.mConnection.setComposingText(textWithUnderline, 1); } + setSuggestionStripShownInternal(shouldShow, true /* needsInputViewShown */); } // TODO[IL]: Move this out of LatinIME. @@ -1426,16 +1419,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen private void showSuggestionStripWithTypedWord(final SuggestedWords sourceSuggestedWords, final String typedWord) { - // TODO: refactor this final SuggestedWords suggestedWords = sourceSuggestedWords.isEmpty() ? SuggestedWords.EMPTY : sourceSuggestedWords; - if (suggestedWords.isEmpty()) { - // No auto-correction is available, clear the cached values. - AccessibilityUtils.getInstance().setAutoCorrection(suggestedWords, typedWord); - setSuggestedWords(suggestedWords); - setAutoCorrectionIndicator(false); - return; - } final String autoCorrection; if (suggestedWords.mWillAutoCorrect) { autoCorrection = suggestedWords.getWord(SuggestedWords.INDEX_OF_AUTO_CORRECTION); @@ -1444,12 +1429,12 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // because it may differ from mWordComposer.mTypedWord. autoCorrection = typedWord; } - mInputLogic.mWordComposer.setAutoCorrection(autoCorrection); - setSuggestedWords(suggestedWords); - setAutoCorrectionIndicator(suggestedWords.mWillAutoCorrect); - setSuggestionStripShown(isSuggestionsStripVisible()); - // An auto-correction is available, cache it in accessibility code so - // we can be speak it if the user touches a key that will insert it. + if (SuggestedWords.EMPTY != suggestedWords) { + mInputLogic.mWordComposer.setAutoCorrection(autoCorrection); + } + setSuggestedWords(suggestedWords, isSuggestionsStripVisible()); + // Cache the auto-correction in accessibility code so we can speak it if the user + // touches a key that will insert it. AccessibilityUtils.getInstance().setAutoCorrection(suggestedWords, typedWord); } @@ -1560,12 +1545,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen public void setNeutralSuggestionStrip() { final SettingsValues currentSettings = mSettings.getCurrent(); if (currentSettings.mBigramPredictionEnabled) { - setSuggestedWords(SuggestedWords.EMPTY); + setSuggestedWords(SuggestedWords.EMPTY, isSuggestionsStripVisible()); } else { - setSuggestedWords(currentSettings.mSpacingAndPunctuations.mSuggestPuncList); + setSuggestedWords(currentSettings.mSpacingAndPunctuations.mSuggestPuncList, + isSuggestionsStripVisible()); } - setAutoCorrectionIndicator(false); - setSuggestionStripShown(isSuggestionsStripVisible()); } public void unsetIsAutoCorrectionIndicatorOnAndCallShowSuggestionStrip( |