Loading java/src/com/android/inputmethod/latin/LatinIME.java +6 −2 Original line number Diff line number Diff line Loading @@ -1171,9 +1171,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen SuggestedWords.getFromApplicationSpecifiedCompletions( applicationSpecifiedCompletions); final SuggestedWords suggestedWords = new SuggestedWords(applicationSuggestedWords, null /* rawSuggestions */, false /* typedWordValid */, false /* willAutoCorrect */, null /* rawSuggestions */, null /* typedWord */, false /* typedWordValid */, false /* willAutoCorrect */, false /* isObsoleteSuggestions */, SuggestedWords.INPUT_STYLE_APPLICATION_SPECIFIED /* inputStyle */); SuggestedWords.INPUT_STYLE_APPLICATION_SPECIFIED /* inputStyle */, SuggestedWords.NOT_A_SEQUENCE_NUMBER); // When in fullscreen mode, show completions generated by the application forcibly setSuggestedWords(suggestedWords); } Loading java/src/com/android/inputmethod/latin/PunctuationSuggestions.java +3 −1 Original line number Diff line number Diff line Loading @@ -33,10 +33,12 @@ public final class PunctuationSuggestions extends SuggestedWords { private PunctuationSuggestions(final ArrayList<SuggestedWordInfo> punctuationsList) { super(punctuationsList, null /* rawSuggestions */, null /* typedWord */, false /* typedWordValid */, false /* hasAutoCorrectionCandidate */, false /* isObsoleteSuggestions */, INPUT_STYLE_NONE /* inputStyle */); INPUT_STYLE_NONE /* inputStyle */, SuggestedWords.NOT_A_SEQUENCE_NUMBER); } /** Loading java/src/com/android/inputmethod/latin/SuggestedWords.java +7 −17 Original line number Diff line number Diff line Loading @@ -50,8 +50,9 @@ public class SuggestedWords { private static final ArrayList<SuggestedWordInfo> EMPTY_WORD_INFO_LIST = new ArrayList<>(0); @Nonnull private static final SuggestedWords EMPTY = new SuggestedWords( EMPTY_WORD_INFO_LIST, null /* rawSuggestions */, false /* typedWordValid */, false /* willAutoCorrect */, false /* isObsoleteSuggestions */, INPUT_STYLE_NONE); EMPTY_WORD_INFO_LIST, null /* rawSuggestions */, null /* typedWord */, false /* typedWordValid */, false /* willAutoCorrect */, false /* isObsoleteSuggestions */, INPUT_STYLE_NONE, NOT_A_SEQUENCE_NUMBER); public final String mTypedWord; public final boolean mTypedWordValid; Loading @@ -67,19 +68,6 @@ public class SuggestedWords { protected final ArrayList<SuggestedWordInfo> mSuggestedWordInfoList; public final ArrayList<SuggestedWordInfo> mRawSuggestions; public SuggestedWords(final ArrayList<SuggestedWordInfo> suggestedWordInfoList, final ArrayList<SuggestedWordInfo> rawSuggestions, final boolean typedWordValid, final boolean willAutoCorrect, final boolean isObsoleteSuggestions, final int inputStyle) { this(suggestedWordInfoList, rawSuggestions, (suggestedWordInfoList.isEmpty() || isPrediction(inputStyle)) ? null : suggestedWordInfoList.get(INDEX_OF_TYPED_WORD).mWord, typedWordValid, willAutoCorrect, isObsoleteSuggestions, inputStyle, NOT_A_SEQUENCE_NUMBER); } public SuggestedWords(final ArrayList<SuggestedWordInfo> suggestedWordInfoList, final ArrayList<SuggestedWordInfo> rawSuggestions, final String typedWord, Loading Loading @@ -423,8 +411,10 @@ public class SuggestedWords { info.mSourceDict, SuggestedWordInfo.NOT_AN_INDEX, SuggestedWordInfo.NOT_A_CONFIDENCE)); } return new SuggestedWords(newSuggestions, null /* rawSuggestions */, mTypedWordValid, mWillAutoCorrect, mIsObsoleteSuggestions, INPUT_STYLE_TAIL_BATCH); return new SuggestedWords(newSuggestions, null /* rawSuggestions */, newSuggestions.isEmpty() ? null : newSuggestions.get(0).mWord /* typedWord */, mTypedWordValid, mWillAutoCorrect, mIsObsoleteSuggestions, INPUT_STYLE_TAIL_BATCH, NOT_A_SEQUENCE_NUMBER); } /** Loading java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +3 −2 Original line number Diff line number Diff line Loading @@ -1884,8 +1884,9 @@ public final class InputLogic { final ArrayList<SuggestedWords.SuggestedWordInfo> typedWordAndPreviousSuggestions = SuggestedWords.getTypedWordAndPreviousSuggestions(typedWord, oldSuggestedWords); return new SuggestedWords(typedWordAndPreviousSuggestions, null /* rawSuggestions */, false /* typedWordValid */, false /* hasAutoCorrectionCandidate */, true /* isObsoleteSuggestions */, oldSuggestedWords.mInputStyle); typedWord, false /* typedWordValid */, false /* hasAutoCorrectionCandidate */, true /* isObsoleteSuggestions */, oldSuggestedWords.mInputStyle, SuggestedWords.NOT_A_SEQUENCE_NUMBER); } /** Loading tests/src/com/android/inputmethod/compat/SuggestionSpanUtilsTest.java +14 −10 Original line number Diff line number Diff line Loading @@ -102,11 +102,11 @@ public class SuggestionSpanUtilsTest extends AndroidTestCase { } public void testGetTextWithSuggestionSpan() { final SuggestedWordInfo predicition1 = final SuggestedWordInfo prediction1 = createWordInfo("Quality", SuggestedWordInfo.KIND_PREDICTION); final SuggestedWordInfo predicition2 = final SuggestedWordInfo prediction2 = createWordInfo("Speed", SuggestedWordInfo.KIND_PREDICTION); final SuggestedWordInfo predicition3 = final SuggestedWordInfo prediction3 = createWordInfo("Price", SuggestedWordInfo.KIND_PREDICTION); final SuggestedWordInfo typed = Loading @@ -122,13 +122,15 @@ public class SuggestionSpanUtilsTest extends AndroidTestCase { // is specified. { final SuggestedWords predictedWords = new SuggestedWords( new ArrayList<>(Arrays.asList(predicition1, predicition2, predicition3)), new ArrayList<>(Arrays.asList(prediction1, prediction2, prediction3)), null /* rawSuggestions */, null /* typedWord */, false /* typedWordValid */, false /* willAutoCorrect */, false /* isObsoleteSuggestions */, SuggestedWords.INPUT_STYLE_PREDICTION); final String PICKED_WORD = predicition2.mWord; SuggestedWords.INPUT_STYLE_PREDICTION, SuggestedWords.NOT_A_SEQUENCE_NUMBER); final String PICKED_WORD = prediction2.mWord; assertNotSuggestionSpan( PICKED_WORD, SuggestionSpanUtils.getTextWithSuggestionSpan(getContext(), PICKED_WORD, Loading @@ -137,17 +139,19 @@ public class SuggestionSpanUtilsTest extends AndroidTestCase { final ArrayList<SuggestedWordInfo> suggestedWordList = new ArrayList<>(); suggestedWordList.add(typed); suggestedWordList.add(predicition1); suggestedWordList.add(predicition2); suggestedWordList.add(predicition3); suggestedWordList.add(prediction1); suggestedWordList.add(prediction2); suggestedWordList.add(prediction3); suggestedWordList.addAll(Arrays.asList(corrections)); final SuggestedWords typedAndCollectedWords = new SuggestedWords( suggestedWordList, null /* rawSuggestions */, null /* typedWord */, false /* typedWordValid */, false /* willAutoCorrect */, false /* isObsoleteSuggestions */, SuggestedWords.INPUT_STYLE_TYPING); SuggestedWords.INPUT_STYLE_TYPING, SuggestedWords.NOT_A_SEQUENCE_NUMBER); for (final SuggestedWordInfo pickedWord : suggestedWordList) { final String PICKED_WORD = pickedWord.mWord; Loading Loading
java/src/com/android/inputmethod/latin/LatinIME.java +6 −2 Original line number Diff line number Diff line Loading @@ -1171,9 +1171,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen SuggestedWords.getFromApplicationSpecifiedCompletions( applicationSpecifiedCompletions); final SuggestedWords suggestedWords = new SuggestedWords(applicationSuggestedWords, null /* rawSuggestions */, false /* typedWordValid */, false /* willAutoCorrect */, null /* rawSuggestions */, null /* typedWord */, false /* typedWordValid */, false /* willAutoCorrect */, false /* isObsoleteSuggestions */, SuggestedWords.INPUT_STYLE_APPLICATION_SPECIFIED /* inputStyle */); SuggestedWords.INPUT_STYLE_APPLICATION_SPECIFIED /* inputStyle */, SuggestedWords.NOT_A_SEQUENCE_NUMBER); // When in fullscreen mode, show completions generated by the application forcibly setSuggestedWords(suggestedWords); } Loading
java/src/com/android/inputmethod/latin/PunctuationSuggestions.java +3 −1 Original line number Diff line number Diff line Loading @@ -33,10 +33,12 @@ public final class PunctuationSuggestions extends SuggestedWords { private PunctuationSuggestions(final ArrayList<SuggestedWordInfo> punctuationsList) { super(punctuationsList, null /* rawSuggestions */, null /* typedWord */, false /* typedWordValid */, false /* hasAutoCorrectionCandidate */, false /* isObsoleteSuggestions */, INPUT_STYLE_NONE /* inputStyle */); INPUT_STYLE_NONE /* inputStyle */, SuggestedWords.NOT_A_SEQUENCE_NUMBER); } /** Loading
java/src/com/android/inputmethod/latin/SuggestedWords.java +7 −17 Original line number Diff line number Diff line Loading @@ -50,8 +50,9 @@ public class SuggestedWords { private static final ArrayList<SuggestedWordInfo> EMPTY_WORD_INFO_LIST = new ArrayList<>(0); @Nonnull private static final SuggestedWords EMPTY = new SuggestedWords( EMPTY_WORD_INFO_LIST, null /* rawSuggestions */, false /* typedWordValid */, false /* willAutoCorrect */, false /* isObsoleteSuggestions */, INPUT_STYLE_NONE); EMPTY_WORD_INFO_LIST, null /* rawSuggestions */, null /* typedWord */, false /* typedWordValid */, false /* willAutoCorrect */, false /* isObsoleteSuggestions */, INPUT_STYLE_NONE, NOT_A_SEQUENCE_NUMBER); public final String mTypedWord; public final boolean mTypedWordValid; Loading @@ -67,19 +68,6 @@ public class SuggestedWords { protected final ArrayList<SuggestedWordInfo> mSuggestedWordInfoList; public final ArrayList<SuggestedWordInfo> mRawSuggestions; public SuggestedWords(final ArrayList<SuggestedWordInfo> suggestedWordInfoList, final ArrayList<SuggestedWordInfo> rawSuggestions, final boolean typedWordValid, final boolean willAutoCorrect, final boolean isObsoleteSuggestions, final int inputStyle) { this(suggestedWordInfoList, rawSuggestions, (suggestedWordInfoList.isEmpty() || isPrediction(inputStyle)) ? null : suggestedWordInfoList.get(INDEX_OF_TYPED_WORD).mWord, typedWordValid, willAutoCorrect, isObsoleteSuggestions, inputStyle, NOT_A_SEQUENCE_NUMBER); } public SuggestedWords(final ArrayList<SuggestedWordInfo> suggestedWordInfoList, final ArrayList<SuggestedWordInfo> rawSuggestions, final String typedWord, Loading Loading @@ -423,8 +411,10 @@ public class SuggestedWords { info.mSourceDict, SuggestedWordInfo.NOT_AN_INDEX, SuggestedWordInfo.NOT_A_CONFIDENCE)); } return new SuggestedWords(newSuggestions, null /* rawSuggestions */, mTypedWordValid, mWillAutoCorrect, mIsObsoleteSuggestions, INPUT_STYLE_TAIL_BATCH); return new SuggestedWords(newSuggestions, null /* rawSuggestions */, newSuggestions.isEmpty() ? null : newSuggestions.get(0).mWord /* typedWord */, mTypedWordValid, mWillAutoCorrect, mIsObsoleteSuggestions, INPUT_STYLE_TAIL_BATCH, NOT_A_SEQUENCE_NUMBER); } /** Loading
java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +3 −2 Original line number Diff line number Diff line Loading @@ -1884,8 +1884,9 @@ public final class InputLogic { final ArrayList<SuggestedWords.SuggestedWordInfo> typedWordAndPreviousSuggestions = SuggestedWords.getTypedWordAndPreviousSuggestions(typedWord, oldSuggestedWords); return new SuggestedWords(typedWordAndPreviousSuggestions, null /* rawSuggestions */, false /* typedWordValid */, false /* hasAutoCorrectionCandidate */, true /* isObsoleteSuggestions */, oldSuggestedWords.mInputStyle); typedWord, false /* typedWordValid */, false /* hasAutoCorrectionCandidate */, true /* isObsoleteSuggestions */, oldSuggestedWords.mInputStyle, SuggestedWords.NOT_A_SEQUENCE_NUMBER); } /** Loading
tests/src/com/android/inputmethod/compat/SuggestionSpanUtilsTest.java +14 −10 Original line number Diff line number Diff line Loading @@ -102,11 +102,11 @@ public class SuggestionSpanUtilsTest extends AndroidTestCase { } public void testGetTextWithSuggestionSpan() { final SuggestedWordInfo predicition1 = final SuggestedWordInfo prediction1 = createWordInfo("Quality", SuggestedWordInfo.KIND_PREDICTION); final SuggestedWordInfo predicition2 = final SuggestedWordInfo prediction2 = createWordInfo("Speed", SuggestedWordInfo.KIND_PREDICTION); final SuggestedWordInfo predicition3 = final SuggestedWordInfo prediction3 = createWordInfo("Price", SuggestedWordInfo.KIND_PREDICTION); final SuggestedWordInfo typed = Loading @@ -122,13 +122,15 @@ public class SuggestionSpanUtilsTest extends AndroidTestCase { // is specified. { final SuggestedWords predictedWords = new SuggestedWords( new ArrayList<>(Arrays.asList(predicition1, predicition2, predicition3)), new ArrayList<>(Arrays.asList(prediction1, prediction2, prediction3)), null /* rawSuggestions */, null /* typedWord */, false /* typedWordValid */, false /* willAutoCorrect */, false /* isObsoleteSuggestions */, SuggestedWords.INPUT_STYLE_PREDICTION); final String PICKED_WORD = predicition2.mWord; SuggestedWords.INPUT_STYLE_PREDICTION, SuggestedWords.NOT_A_SEQUENCE_NUMBER); final String PICKED_WORD = prediction2.mWord; assertNotSuggestionSpan( PICKED_WORD, SuggestionSpanUtils.getTextWithSuggestionSpan(getContext(), PICKED_WORD, Loading @@ -137,17 +139,19 @@ public class SuggestionSpanUtilsTest extends AndroidTestCase { final ArrayList<SuggestedWordInfo> suggestedWordList = new ArrayList<>(); suggestedWordList.add(typed); suggestedWordList.add(predicition1); suggestedWordList.add(predicition2); suggestedWordList.add(predicition3); suggestedWordList.add(prediction1); suggestedWordList.add(prediction2); suggestedWordList.add(prediction3); suggestedWordList.addAll(Arrays.asList(corrections)); final SuggestedWords typedAndCollectedWords = new SuggestedWords( suggestedWordList, null /* rawSuggestions */, null /* typedWord */, false /* typedWordValid */, false /* willAutoCorrect */, false /* isObsoleteSuggestions */, SuggestedWords.INPUT_STYLE_TYPING); SuggestedWords.INPUT_STYLE_TYPING, SuggestedWords.NOT_A_SEQUENCE_NUMBER); for (final SuggestedWordInfo pickedWord : suggestedWordList) { final String PICKED_WORD = pickedWord.mWord; Loading