Loading java/src/com/android/inputmethod/latin/LatinIME.java +27 −13 Original line number Diff line number Diff line Loading @@ -2532,11 +2532,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen false /* isPrediction */); } private void showSuggestionStrip(final SuggestedWords suggestedWords) { if (suggestedWords.isEmpty()) { clearSuggestionStrip(); return; } private void setAutoCorrection(final SuggestedWords suggestedWords) { if (suggestedWords.isEmpty()) return; final String autoCorrection; if (suggestedWords.mWillAutoCorrect) { autoCorrection = suggestedWords.getWord(SuggestedWords.INDEX_OF_AUTO_CORRECTION); Loading @@ -2544,17 +2541,21 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen autoCorrection = suggestedWords.getWord(SuggestedWords.INDEX_OF_TYPED_WORD); } mWordComposer.setAutoCorrection(autoCorrection); } private void showSuggestionStrip(final SuggestedWords suggestedWords) { if (suggestedWords.isEmpty()) { clearSuggestionStrip(); return; } setAutoCorrection(suggestedWords); final boolean isAutoCorrection = suggestedWords.willAutoCorrect(); setSuggestedWords(suggestedWords, isAutoCorrection); setAutoCorrectionIndicator(isAutoCorrection); setSuggestionStripShown(isSuggestionsStripVisible()); } private void commitCurrentAutoCorrection(final String separator, final Runnable callback) { // Complete any pending suggestions query first if (mHandler.hasPendingUpdateSuggestions()) { updateSuggestionStrip(); } private void completeCommitCurrentAutoCorrection(final String separator) { final String typedAutoCorrection = mWordComposer.getAutoCorrectionOrNull(); final String typedWord = mWordComposer.getTypedWord(); final String autoCorrection = (typedAutoCorrection != null) Loading Loading @@ -2588,10 +2589,23 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen typedWord, autoCorrection)); } } } private void commitCurrentAutoCorrection(final String separator, final Runnable callback) { getSuggestedWordsOrOlderSuggestionsAsync(Suggest.SESSION_TYPING, new OnGetSuggestedWordsCallback() { @Override public void onGetSuggestedWords(final SuggestedWords suggestedWords) { if (suggestedWords != null) { setAutoCorrection(suggestedWords); } completeCommitCurrentAutoCorrection(separator); if (callback != null) { callback.run(); } } }); } // Called from {@link SuggestionStripView} through the {@link SuggestionStripView#Listener} // interface Loading tests/src/com/android/inputmethod/latin/InputTestsBase.java +5 −2 Original line number Diff line number Diff line Loading @@ -44,10 +44,12 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> { private static final String PREF_DEBUG_MODE = "debug_mode"; // The message that sets the underline is posted with a 100 ms delay // The message that sets the underline is posted with a 200 ms delay protected static final int DELAY_TO_WAIT_FOR_UNDERLINE = 200; // The message that sets predictions is posted with a 100 ms delay // The message that sets predictions is posted with a 200 ms delay protected static final int DELAY_TO_WAIT_FOR_PREDICTIONS = 200; // The message that sets auto-corrections is posted within a 100 ms delay. protected static final int DELAY_TO_WAIT_FOR_AUTOCORRECTION = 100; protected LatinIME mLatinIME; protected Keyboard mKeyboard; Loading Loading @@ -221,6 +223,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> { protected void type(final String stringToType) { for (int i = 0; i < stringToType.length(); i = stringToType.offsetByCodePoints(i, 1)) { type(stringToType.codePointAt(i)); sleep(DELAY_TO_WAIT_FOR_AUTOCORRECTION); } } Loading Loading
java/src/com/android/inputmethod/latin/LatinIME.java +27 −13 Original line number Diff line number Diff line Loading @@ -2532,11 +2532,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen false /* isPrediction */); } private void showSuggestionStrip(final SuggestedWords suggestedWords) { if (suggestedWords.isEmpty()) { clearSuggestionStrip(); return; } private void setAutoCorrection(final SuggestedWords suggestedWords) { if (suggestedWords.isEmpty()) return; final String autoCorrection; if (suggestedWords.mWillAutoCorrect) { autoCorrection = suggestedWords.getWord(SuggestedWords.INDEX_OF_AUTO_CORRECTION); Loading @@ -2544,17 +2541,21 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen autoCorrection = suggestedWords.getWord(SuggestedWords.INDEX_OF_TYPED_WORD); } mWordComposer.setAutoCorrection(autoCorrection); } private void showSuggestionStrip(final SuggestedWords suggestedWords) { if (suggestedWords.isEmpty()) { clearSuggestionStrip(); return; } setAutoCorrection(suggestedWords); final boolean isAutoCorrection = suggestedWords.willAutoCorrect(); setSuggestedWords(suggestedWords, isAutoCorrection); setAutoCorrectionIndicator(isAutoCorrection); setSuggestionStripShown(isSuggestionsStripVisible()); } private void commitCurrentAutoCorrection(final String separator, final Runnable callback) { // Complete any pending suggestions query first if (mHandler.hasPendingUpdateSuggestions()) { updateSuggestionStrip(); } private void completeCommitCurrentAutoCorrection(final String separator) { final String typedAutoCorrection = mWordComposer.getAutoCorrectionOrNull(); final String typedWord = mWordComposer.getTypedWord(); final String autoCorrection = (typedAutoCorrection != null) Loading Loading @@ -2588,10 +2589,23 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen typedWord, autoCorrection)); } } } private void commitCurrentAutoCorrection(final String separator, final Runnable callback) { getSuggestedWordsOrOlderSuggestionsAsync(Suggest.SESSION_TYPING, new OnGetSuggestedWordsCallback() { @Override public void onGetSuggestedWords(final SuggestedWords suggestedWords) { if (suggestedWords != null) { setAutoCorrection(suggestedWords); } completeCommitCurrentAutoCorrection(separator); if (callback != null) { callback.run(); } } }); } // Called from {@link SuggestionStripView} through the {@link SuggestionStripView#Listener} // interface Loading
tests/src/com/android/inputmethod/latin/InputTestsBase.java +5 −2 Original line number Diff line number Diff line Loading @@ -44,10 +44,12 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> { private static final String PREF_DEBUG_MODE = "debug_mode"; // The message that sets the underline is posted with a 100 ms delay // The message that sets the underline is posted with a 200 ms delay protected static final int DELAY_TO_WAIT_FOR_UNDERLINE = 200; // The message that sets predictions is posted with a 100 ms delay // The message that sets predictions is posted with a 200 ms delay protected static final int DELAY_TO_WAIT_FOR_PREDICTIONS = 200; // The message that sets auto-corrections is posted within a 100 ms delay. protected static final int DELAY_TO_WAIT_FOR_AUTOCORRECTION = 100; protected LatinIME mLatinIME; protected Keyboard mKeyboard; Loading Loading @@ -221,6 +223,7 @@ public class InputTestsBase extends ServiceTestCase<LatinIMEForTests> { protected void type(final String stringToType) { for (int i = 0; i < stringToType.length(); i = stringToType.offsetByCodePoints(i, 1)) { type(stringToType.codePointAt(i)); sleep(DELAY_TO_WAIT_FOR_AUTOCORRECTION); } } Loading