Various mini-cleanups
- Stop the word composer from escaping - take a page from the law of Demeter and only report what is actually needed. - Fix typos in comments. - Add a comment for a fishy processing. - Remove a useless local variable. Change-Id: I5fa78901cbb5483fc9683bfb7094f47244b85df6
This commit is contained in:
parent
edf4995a3b
commit
f7d6517d6b
4 changed files with 11 additions and 10 deletions
|
@ -1785,7 +1785,6 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
|
|||
return;
|
||||
}
|
||||
|
||||
final WordComposer wordComposer = mWordComposer;
|
||||
// TODO: May need a better way of retrieving previous word
|
||||
final InputConnection ic = getCurrentInputConnection();
|
||||
final CharSequence prevWord;
|
||||
|
@ -1795,18 +1794,18 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
|
|||
prevWord = EditingUtils.getPreviousWord(ic, mSettingsValues.mWordSeparators);
|
||||
}
|
||||
// getSuggestedWordBuilder handles gracefully a null value of prevWord
|
||||
final SuggestedWords.Builder builder = mSuggest.getSuggestedWordBuilder(wordComposer,
|
||||
final SuggestedWords.Builder builder = mSuggest.getSuggestedWordBuilder(mWordComposer,
|
||||
prevWord, mKeyboardSwitcher.getLatinKeyboard().getProximityInfo(), mCorrectionMode);
|
||||
|
||||
boolean autoCorrectionAvailable = !mInputTypeNoAutoCorrect && mSuggest.hasAutoCorrection();
|
||||
final CharSequence typedWord = wordComposer.getTypedWord();
|
||||
final CharSequence typedWord = mWordComposer.getTypedWord();
|
||||
// Here, we want to promote a whitelisted word if exists.
|
||||
// TODO: Change this scheme - a boolean is not enough. A whitelisted word may be "valid"
|
||||
// but still autocorrected from - in the case the whitelist only capitalizes the word.
|
||||
// The whitelist should be case-insensitive, so it's not possible to be consistent with
|
||||
// a boolean flag. Right now this is handled with a slight hack in
|
||||
// WhitelistDictionary#shouldForciblyAutoCorrectFrom.
|
||||
final int quotesCount = wordComposer.trailingSingleQuotesCount();
|
||||
final int quotesCount = mWordComposer.trailingSingleQuotesCount();
|
||||
final boolean allowsToBeAutoCorrected = AutoCorrection.allowsToBeAutoCorrected(
|
||||
mSuggest.getUnigramDictionaries(),
|
||||
// If the typed string ends with a single quote, for dictionary lookup purposes
|
||||
|
@ -1822,7 +1821,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
|
|||
autoCorrectionAvailable |= (!allowsToBeAutoCorrected);
|
||||
}
|
||||
// Don't auto-correct words with multiple capital letter
|
||||
autoCorrectionAvailable &= !wordComposer.isMostlyCaps();
|
||||
autoCorrectionAvailable &= !mWordComposer.isMostlyCaps();
|
||||
|
||||
// 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
|
||||
|
@ -1959,6 +1958,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
|
|||
} else {
|
||||
addToOnlyBigramDictionary(suggestion, 1);
|
||||
}
|
||||
// TODO: the following is fishy, because if !mHasUncommittedTypedChars we are
|
||||
// going to log an empty string
|
||||
LatinImeLogger.logOnManualSuggestion(mWordComposer.getTypedWord().toString(),
|
||||
suggestion.toString(), index, suggestions.mWords);
|
||||
// Follow it with a space
|
||||
|
@ -2399,8 +2400,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
|
|||
}
|
||||
}
|
||||
|
||||
public WordComposer getCurrentWord() {
|
||||
return mWordComposer;
|
||||
public boolean isAutoCapitalized() {
|
||||
return mWordComposer.isAutoCapitalized();
|
||||
}
|
||||
|
||||
boolean isSoundOn() {
|
||||
|
|
|
@ -159,7 +159,7 @@ public class UserBigramDictionary extends ExpandableDictionary {
|
|||
*/
|
||||
public int addBigrams(String word1, String word2) {
|
||||
// remove caps if second word is autocapitalized
|
||||
if (mIme != null && mIme.getCurrentWord().isAutoCapitalized()) {
|
||||
if (mIme != null && mIme.isAutoCapitalized()) {
|
||||
word2 = Character.toLowerCase(word2.charAt(0)) + word2.substring(1);
|
||||
}
|
||||
// Do not insert a word as a bigram of itself
|
||||
|
|
|
@ -149,7 +149,7 @@ public class UserUnigramDictionary extends ExpandableDictionary {
|
|||
final int length = word.length();
|
||||
// Don't add very short or very long words.
|
||||
if (length < 2 || length > getMaxWordLength()) return;
|
||||
if (mIme.getCurrentWord().isAutoCapitalized()) {
|
||||
if (mIme.isAutoCapitalized()) {
|
||||
// Remove caps before adding
|
||||
word = Character.toLowerCase(word.charAt(0)) + word.substring(1);
|
||||
}
|
||||
|
|
|
@ -301,7 +301,7 @@ public class WordComposer {
|
|||
}
|
||||
|
||||
/**
|
||||
* @return the auto-correction for this world, or null if none.
|
||||
* @return the auto-correction for this word, or null if none.
|
||||
*/
|
||||
public CharSequence getAutoCorrectionOrNull() {
|
||||
return mAutoCorrection;
|
||||
|
|
Loading…
Reference in a new issue