am 0b327101
: Merge "Fix possible NPE"
* commit '0b3271010fe6e438d57a5d4504e021e001bb9f5e': Fix possible NPE
This commit is contained in:
commit
bc586fb1ff
1 changed files with 20 additions and 18 deletions
|
@ -156,7 +156,7 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
|
|||
private PositionalInfoForUserDictPendingAddition
|
||||
mPositionalInfoForUserDictPendingAddition = null;
|
||||
private final WordComposer mWordComposer = new WordComposer();
|
||||
private RichInputConnection mConnection = new RichInputConnection(this);
|
||||
private final RichInputConnection mConnection = new RichInputConnection(this);
|
||||
|
||||
// Keep track of the last selection range to decide if we need to show word alternatives
|
||||
private static final int NOT_A_CURSOR_POSITION = -1;
|
||||
|
@ -2297,8 +2297,12 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
|
|||
// expect to receive non-words.
|
||||
if (!mSettings.getCurrent().mCorrectionEnabled) return null;
|
||||
|
||||
final Suggest suggest = mSuggest;
|
||||
final UserHistoryDictionary userHistoryDictionary = mUserHistoryDictionary;
|
||||
if (userHistoryDictionary != null) {
|
||||
if (suggest == null || userHistoryDictionary == null) {
|
||||
// Avoid concurrent issue
|
||||
return null;
|
||||
}
|
||||
final String prevWord
|
||||
= mConnection.getNthPreviousWord(mSettings.getCurrent().mWordSeparators, 2);
|
||||
final String secondWord;
|
||||
|
@ -2310,13 +2314,11 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
|
|||
// We demote unrecognized words (frequency < 0, below) by specifying them as "invalid".
|
||||
// We don't add words with 0-frequency (assuming they would be profanity etc.).
|
||||
final int maxFreq = AutoCorrection.getMaxFrequency(
|
||||
mSuggest.getUnigramDictionaries(), suggestion);
|
||||
suggest.getUnigramDictionaries(), suggestion);
|
||||
if (maxFreq == 0) return null;
|
||||
userHistoryDictionary.addToUserHistory(prevWord, secondWord, maxFreq > 0);
|
||||
return prevWord;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the cursor is actually at the end of a word. If so, restart suggestions on this
|
||||
|
|
Loading…
Reference in a new issue