Fix an NPE
Also make mSuggest private for more security. Bug: 10045657 Change-Id: I712505e4d2a2606efff5d09ba9b4c656f9e7c7a9main
parent
654b0a9c16
commit
5408fec63a
|
@ -154,7 +154,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
private SuggestionStripView mSuggestionStripView;
|
||||
// Never null
|
||||
private SuggestedWords mSuggestedWords = SuggestedWords.EMPTY;
|
||||
@UsedForTesting Suggest mSuggest;
|
||||
private Suggest mSuggest;
|
||||
private CompletionInfo[] mApplicationSpecifiedCompletions;
|
||||
private AppWorkaroundsUtils mAppWorkAroundsUtils = new AppWorkaroundsUtils();
|
||||
|
||||
|
@ -2241,7 +2241,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
|
||||
private SuggestedWords getSuggestedWords(final int sessionId) {
|
||||
final Keyboard keyboard = mKeyboardSwitcher.getKeyboard();
|
||||
if (keyboard == null || mSuggest == null) {
|
||||
final Suggest suggest = mSuggest;
|
||||
if (keyboard == null || suggest == null) {
|
||||
return SuggestedWords.EMPTY;
|
||||
}
|
||||
// Get the word on which we should search the bigrams. If we are composing a word, it's
|
||||
|
@ -2251,7 +2252,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
final String prevWord =
|
||||
mConnection.getNthPreviousWord(mSettings.getCurrent().mWordSeparators,
|
||||
mWordComposer.isComposingWord() ? 2 : 1);
|
||||
return mSuggest.getSuggestedWords(mWordComposer, prevWord, keyboard.getProximityInfo(),
|
||||
return suggest.getSuggestedWords(mWordComposer, prevWord, keyboard.getProximityInfo(),
|
||||
mSettings.getBlockPotentiallyOffensive(),
|
||||
mSettings.getCurrent().mCorrectionEnabled, sessionId);
|
||||
}
|
||||
|
@ -2855,6 +2856,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
return mSuggestedWords.size() > 0 ? mSuggestedWords.getWord(0) : null;
|
||||
}
|
||||
|
||||
// DO NOT USE THIS for any other purpose than testing. This is information private to LatinIME.
|
||||
@UsedForTesting
|
||||
/* package for test */ boolean isCurrentlyWaitingForMainDictionary() {
|
||||
return mSuggest.isCurrentlyWaitingForMainDictionary();
|
||||
}
|
||||
|
||||
// DO NOT USE THIS for any other purpose than testing. This is information private to LatinIME.
|
||||
@UsedForTesting
|
||||
/* package for test */ boolean hasMainDictionary() {
|
||||
return mSuggest.hasMainDictionary();
|
||||
}
|
||||
|
||||
public void debugDumpStateAndCrashWithException(final String context) {
|
||||
final StringBuilder s = new StringBuilder(mAppWorkAroundsUtils.toString());
|
||||
s.append("\nAttributes : ").append(mSettings.getCurrent().mInputAttributes)
|
||||
|
|
|
@ -225,7 +225,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
|
|||
|
||||
protected void waitForDictionaryToBeLoaded() {
|
||||
int remainingAttempts = 300;
|
||||
while (remainingAttempts > 0 && mLatinIME.mSuggest.isCurrentlyWaitingForMainDictionary()) {
|
||||
while (remainingAttempts > 0 && mLatinIME.isCurrentlyWaitingForMainDictionary()) {
|
||||
try {
|
||||
Thread.sleep(200);
|
||||
} catch (InterruptedException e) {
|
||||
|
@ -234,7 +234,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> {
|
|||
--remainingAttempts;
|
||||
}
|
||||
}
|
||||
if (!mLatinIME.mSuggest.hasMainDictionary()) {
|
||||
if (!mLatinIME.hasMainDictionary()) {
|
||||
throw new RuntimeException("Can't initialize the main dictionary");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue