Loading java/src/com/android/inputmethod/latin/LatinIME.java +4 −2 Original line number Diff line number Diff line Loading @@ -1710,7 +1710,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // getSuggestedWords handles gracefully a null value of prevWord final SuggestedWords suggestedWords = mSuggest.getSuggestedWords(mWordComposer, prevWord, mKeyboardSwitcher.getKeyboard().getProximityInfo(), mCurrentSettings.mCorrectionEnabled); mCurrentSettings.mCorrectionEnabled, false); // Basically, we update the suggestion strip only when suggestion count > 1. However, // there is an exception: We update the suggestion strip whenever typed word's length Loading Loading @@ -1922,7 +1922,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (mCurrentSettings.mCorrectionEnabled) { final CharSequence prevWord = mConnection.getThisWord(mCurrentSettings.mWordSeparators); if (!TextUtils.isEmpty(prevWord)) { suggestedWords = mSuggest.getBigramPredictions(prevWord); suggestedWords = mSuggest.getSuggestedWords(mWordComposer, prevWord, mKeyboardSwitcher.getKeyboard().getProximityInfo(), mCurrentSettings.mCorrectionEnabled, true); } else { suggestedWords = null; } Loading java/src/com/android/inputmethod/latin/Suggest.java +21 −10 Original line number Diff line number Diff line Loading @@ -234,13 +234,22 @@ public class Suggest implements Dictionary.WordCallback { true /* isPrediction */); } // TODO: cleanup dictionaries looking up and suggestions building with SuggestedWords.Builder // Compatibility for tests. TODO: remove this public SuggestedWords getSuggestedWords( final WordComposer wordComposer, CharSequence prevWordForBigram, final ProximityInfo proximityInfo, final boolean isCorrectionEnabled) { return getSuggestedWords(wordComposer, prevWordForBigram, proximityInfo, isCorrectionEnabled, false); } // TODO: cleanup dictionaries looking up and suggestions building with SuggestedWords.Builder public SuggestedWords getSuggestedWords( final WordComposer wordComposer, CharSequence prevWordForBigram, final ProximityInfo proximityInfo, final boolean isCorrectionEnabled, final boolean isPrediction) { LatinImeLogger.onStartSuggestion(prevWordForBigram); mIsFirstCharCapitalized = wordComposer.isFirstCharCapitalized(); mIsAllUpperCase = wordComposer.isAllUpperCase(); mIsFirstCharCapitalized = !isPrediction && wordComposer.isFirstCharCapitalized(); mIsAllUpperCase = !isPrediction && wordComposer.isAllUpperCase(); mTrailingSingleQuotesCount = wordComposer.trailingSingleQuotesCount(); mSuggestions = new ArrayList<SuggestedWordInfo>(MAX_SUGGESTIONS); Loading Loading @@ -305,12 +314,14 @@ public class Suggest implements Dictionary.WordCallback { } } if (!isPrediction) { mSuggestions.add(0, new SuggestedWordInfo(typedWord, SuggestedWordInfo.MAX_SCORE, SuggestedWordInfo.KIND_TYPED)); } SuggestedWordInfo.removeDups(mSuggestions); final ArrayList<SuggestedWordInfo> suggestionsList; if (DBG) { if (DBG && !mSuggestions.isEmpty()) { suggestionsList = getSuggestionsInfoListWithDebugInfo(typedWord, mSuggestions); } else { suggestionsList = mSuggestions; Loading Loading @@ -343,12 +354,12 @@ public class Suggest implements Dictionary.WordCallback { autoCorrectionAvailable = false; } return new SuggestedWords(suggestionsList, !allowsToBeAutoCorrected /* typedWordValid */, autoCorrectionAvailable /* hasAutoCorrectionCandidate */, allowsToBeAutoCorrected /* allowsToBeAutoCorrected */, !isPrediction && !allowsToBeAutoCorrected /* typedWordValid */, !isPrediction && autoCorrectionAvailable /* hasAutoCorrectionCandidate */, !isPrediction && allowsToBeAutoCorrected /* allowsToBeAutoCorrected */, false /* isPunctuationSuggestions */, false /* isObsoleteSuggestions */, false /* isPrediction */); isPrediction); } /** Loading Loading
java/src/com/android/inputmethod/latin/LatinIME.java +4 −2 Original line number Diff line number Diff line Loading @@ -1710,7 +1710,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // getSuggestedWords handles gracefully a null value of prevWord final SuggestedWords suggestedWords = mSuggest.getSuggestedWords(mWordComposer, prevWord, mKeyboardSwitcher.getKeyboard().getProximityInfo(), mCurrentSettings.mCorrectionEnabled); mCurrentSettings.mCorrectionEnabled, false); // Basically, we update the suggestion strip only when suggestion count > 1. However, // there is an exception: We update the suggestion strip whenever typed word's length Loading Loading @@ -1922,7 +1922,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (mCurrentSettings.mCorrectionEnabled) { final CharSequence prevWord = mConnection.getThisWord(mCurrentSettings.mWordSeparators); if (!TextUtils.isEmpty(prevWord)) { suggestedWords = mSuggest.getBigramPredictions(prevWord); suggestedWords = mSuggest.getSuggestedWords(mWordComposer, prevWord, mKeyboardSwitcher.getKeyboard().getProximityInfo(), mCurrentSettings.mCorrectionEnabled, true); } else { suggestedWords = null; } Loading
java/src/com/android/inputmethod/latin/Suggest.java +21 −10 Original line number Diff line number Diff line Loading @@ -234,13 +234,22 @@ public class Suggest implements Dictionary.WordCallback { true /* isPrediction */); } // TODO: cleanup dictionaries looking up and suggestions building with SuggestedWords.Builder // Compatibility for tests. TODO: remove this public SuggestedWords getSuggestedWords( final WordComposer wordComposer, CharSequence prevWordForBigram, final ProximityInfo proximityInfo, final boolean isCorrectionEnabled) { return getSuggestedWords(wordComposer, prevWordForBigram, proximityInfo, isCorrectionEnabled, false); } // TODO: cleanup dictionaries looking up and suggestions building with SuggestedWords.Builder public SuggestedWords getSuggestedWords( final WordComposer wordComposer, CharSequence prevWordForBigram, final ProximityInfo proximityInfo, final boolean isCorrectionEnabled, final boolean isPrediction) { LatinImeLogger.onStartSuggestion(prevWordForBigram); mIsFirstCharCapitalized = wordComposer.isFirstCharCapitalized(); mIsAllUpperCase = wordComposer.isAllUpperCase(); mIsFirstCharCapitalized = !isPrediction && wordComposer.isFirstCharCapitalized(); mIsAllUpperCase = !isPrediction && wordComposer.isAllUpperCase(); mTrailingSingleQuotesCount = wordComposer.trailingSingleQuotesCount(); mSuggestions = new ArrayList<SuggestedWordInfo>(MAX_SUGGESTIONS); Loading Loading @@ -305,12 +314,14 @@ public class Suggest implements Dictionary.WordCallback { } } if (!isPrediction) { mSuggestions.add(0, new SuggestedWordInfo(typedWord, SuggestedWordInfo.MAX_SCORE, SuggestedWordInfo.KIND_TYPED)); } SuggestedWordInfo.removeDups(mSuggestions); final ArrayList<SuggestedWordInfo> suggestionsList; if (DBG) { if (DBG && !mSuggestions.isEmpty()) { suggestionsList = getSuggestionsInfoListWithDebugInfo(typedWord, mSuggestions); } else { suggestionsList = mSuggestions; Loading Loading @@ -343,12 +354,12 @@ public class Suggest implements Dictionary.WordCallback { autoCorrectionAvailable = false; } return new SuggestedWords(suggestionsList, !allowsToBeAutoCorrected /* typedWordValid */, autoCorrectionAvailable /* hasAutoCorrectionCandidate */, allowsToBeAutoCorrected /* allowsToBeAutoCorrected */, !isPrediction && !allowsToBeAutoCorrected /* typedWordValid */, !isPrediction && autoCorrectionAvailable /* hasAutoCorrectionCandidate */, !isPrediction && allowsToBeAutoCorrected /* allowsToBeAutoCorrected */, false /* isPunctuationSuggestions */, false /* isObsoleteSuggestions */, false /* isPrediction */); isPrediction); } /** Loading