Loading java/src/com/android/inputmethod/latin/LatinIME.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -922,11 +922,11 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar return; return; } } final List<CharSequence> applicationSuggestedWords = final List<SuggestedWords.SuggestedWordInfo> applicationSuggestedWords = SuggestedWords.Builder.getFromApplicationSpecifiedCompletions( SuggestedWords.Builder.getFromApplicationSpecifiedCompletions( applicationSpecifiedCompletions); applicationSpecifiedCompletions); SuggestedWords.Builder builder = new SuggestedWords.Builder() SuggestedWords.Builder builder = new SuggestedWords.Builder() .addWords(applicationSuggestedWords, null) .addWords(applicationSuggestedWords) .setTypedWordValid(false) .setTypedWordValid(false) .setHasMinimalSuggestion(false); .setHasMinimalSuggestion(false); // When in fullscreen mode, show completions generated by the application // When in fullscreen mode, show completions generated by the application Loading java/src/com/android/inputmethod/latin/SettingsValues.java +11 −7 Original line number Original line Diff line number Diff line Loading @@ -175,32 +175,36 @@ public class SettingsValues { } } private static SuggestedWords createSuggestPuncList(final String[] puncs) { private static SuggestedWords createSuggestPuncList(final String[] puncs) { final ArrayList<CharSequence> puncList = new ArrayList<CharSequence>(); final ArrayList<SuggestedWords.SuggestedWordInfo> puncList = new ArrayList<SuggestedWords.SuggestedWordInfo>(); if (puncs != null) { if (puncs != null) { for (final String puncSpec : puncs) { for (final String puncSpec : puncs) { puncList.add(KeySpecParser.getLabel(puncSpec)); puncList.add(new SuggestedWords.SuggestedWordInfo( KeySpecParser.getLabel(puncSpec))); } } } } final SuggestedWords.Builder builder = new SuggestedWords.Builder() final SuggestedWords.Builder builder = new SuggestedWords.Builder() .addWords(puncList, null) .addWords(puncList) .setIsPunctuationSuggestions(); .setIsPunctuationSuggestions(); return builder.build(); return builder.build(); } } private static SuggestedWords createSuggestPuncOutputTextList(final String[] puncs) { private static SuggestedWords createSuggestPuncOutputTextList(final String[] puncs) { final ArrayList<CharSequence> puncOutputTextList = new ArrayList<CharSequence>(); final ArrayList<SuggestedWords.SuggestedWordInfo> puncOutputTextList = new ArrayList<SuggestedWords.SuggestedWordInfo>(); if (puncs != null) { if (puncs != null) { for (final String puncSpec : puncs) { for (final String puncSpec : puncs) { final String outputText = KeySpecParser.getOutputText(puncSpec); final String outputText = KeySpecParser.getOutputText(puncSpec); if (outputText != null) { if (outputText != null) { puncOutputTextList.add(outputText); puncOutputTextList.add(new SuggestedWords.SuggestedWordInfo(outputText)); } else { } else { puncOutputTextList.add(KeySpecParser.getLabel(puncSpec)); puncOutputTextList.add(new SuggestedWords.SuggestedWordInfo( KeySpecParser.getLabel(puncSpec))); } } } } } } final SuggestedWords.Builder builder = new SuggestedWords.Builder() final SuggestedWords.Builder builder = new SuggestedWords.Builder() .addWords(puncOutputTextList, null) .addWords(puncOutputTextList) .setIsPunctuationSuggestions(); .setIsPunctuationSuggestions(); return builder.build(); return builder.build(); } } Loading java/src/com/android/inputmethod/latin/Suggest.java +5 −3 Original line number Original line Diff line number Diff line Loading @@ -291,7 +291,8 @@ public class Suggest implements Dictionary.WordCallback { StringUtils.removeDupes(mSuggestions); StringUtils.removeDupes(mSuggestions); return new SuggestedWords.Builder().addWords(mSuggestions, null) return new SuggestedWords.Builder() .addWords(SuggestedWords.Builder.getFromCharSequenceList(mSuggestions)) .setAllowsToBeAutoCorrected(false) .setAllowsToBeAutoCorrected(false) .setHasAutoCorrection(false); .setHasAutoCorrection(false); } } Loading Loading @@ -445,11 +446,12 @@ public class Suggest implements Dictionary.WordCallback { scoreInfoList.add(new SuggestedWords.SuggestedWordInfo(mSuggestions.get(i), scoreInfoList.add(new SuggestedWords.SuggestedWordInfo(mSuggestions.get(i), "--", false)); "--", false)); } } builder = new SuggestedWords.Builder().addWords(mSuggestions, scoreInfoList) builder = new SuggestedWords.Builder().addWords(scoreInfoList) .setAllowsToBeAutoCorrected(allowsToBeAutoCorrected) .setAllowsToBeAutoCorrected(allowsToBeAutoCorrected) .setHasAutoCorrection(hasAutoCorrection); .setHasAutoCorrection(hasAutoCorrection); } else { } else { builder = new SuggestedWords.Builder().addWords(mSuggestions, null) builder = new SuggestedWords.Builder() .addWords(SuggestedWords.Builder.getFromCharSequenceList(mSuggestions)) .setAllowsToBeAutoCorrected(allowsToBeAutoCorrected) .setAllowsToBeAutoCorrected(allowsToBeAutoCorrected) .setHasAutoCorrection(hasAutoCorrection); .setHasAutoCorrection(hasAutoCorrection); } } Loading java/src/com/android/inputmethod/latin/SuggestedWords.java +22 −15 Original line number Original line Diff line number Diff line Loading @@ -87,19 +87,17 @@ public class SuggestedWords { // Nothing to do here. // Nothing to do here. } } public Builder addWords(List<CharSequence> words, // TODO: the following method is a wrapper to satisfy tests. Update tests and remove it. List<SuggestedWordInfo> suggestedWordInfoList) { public Builder addWords(final List<CharSequence> words, final int N = words.size(); final List<SuggestedWordInfo> suggestedWordInfoList) { for (int i = 0; i < N; ++i) { return addWords(suggestedWordInfoList); final CharSequence word = words.get(i); SuggestedWordInfo suggestedWordInfo = null; if (suggestedWordInfoList != null) { suggestedWordInfo = suggestedWordInfoList.get(i); } if (suggestedWordInfo == null) { suggestedWordInfo = new SuggestedWordInfo(word); } } addWord(word, suggestedWordInfo); public Builder addWords(List<SuggestedWordInfo> suggestedWordInfoList) { final int N = suggestedWordInfoList.size(); for (int i = 0; i < N; ++i) { SuggestedWordInfo suggestedWordInfo = suggestedWordInfoList.get(i); addWord(suggestedWordInfo.mWord, suggestedWordInfo); } } return this; return this; } } Loading @@ -113,11 +111,20 @@ public class SuggestedWords { return this; return this; } } public static List<CharSequence> getFromApplicationSpecifiedCompletions( public static List<SuggestedWordInfo> getFromCharSequenceList( final List<CharSequence> wordList) { final ArrayList<SuggestedWordInfo> result = new ArrayList<SuggestedWordInfo>(); for (CharSequence word : wordList) { if (null != word) result.add(new SuggestedWordInfo(word, null, false)); } return result; } public static List<SuggestedWordInfo> getFromApplicationSpecifiedCompletions( final CompletionInfo[] infos) { final CompletionInfo[] infos) { final ArrayList<CharSequence> result = new ArrayList<CharSequence>(); final ArrayList<SuggestedWordInfo> result = new ArrayList<SuggestedWordInfo>(); for (CompletionInfo info : infos) { for (CompletionInfo info : infos) { if (null != info) result.add(info.getText()); if (null != info) result.add(new SuggestedWordInfo(info.getText(), null, false)); } } return result; return result; } } Loading Loading
java/src/com/android/inputmethod/latin/LatinIME.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -922,11 +922,11 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar return; return; } } final List<CharSequence> applicationSuggestedWords = final List<SuggestedWords.SuggestedWordInfo> applicationSuggestedWords = SuggestedWords.Builder.getFromApplicationSpecifiedCompletions( SuggestedWords.Builder.getFromApplicationSpecifiedCompletions( applicationSpecifiedCompletions); applicationSpecifiedCompletions); SuggestedWords.Builder builder = new SuggestedWords.Builder() SuggestedWords.Builder builder = new SuggestedWords.Builder() .addWords(applicationSuggestedWords, null) .addWords(applicationSuggestedWords) .setTypedWordValid(false) .setTypedWordValid(false) .setHasMinimalSuggestion(false); .setHasMinimalSuggestion(false); // When in fullscreen mode, show completions generated by the application // When in fullscreen mode, show completions generated by the application Loading
java/src/com/android/inputmethod/latin/SettingsValues.java +11 −7 Original line number Original line Diff line number Diff line Loading @@ -175,32 +175,36 @@ public class SettingsValues { } } private static SuggestedWords createSuggestPuncList(final String[] puncs) { private static SuggestedWords createSuggestPuncList(final String[] puncs) { final ArrayList<CharSequence> puncList = new ArrayList<CharSequence>(); final ArrayList<SuggestedWords.SuggestedWordInfo> puncList = new ArrayList<SuggestedWords.SuggestedWordInfo>(); if (puncs != null) { if (puncs != null) { for (final String puncSpec : puncs) { for (final String puncSpec : puncs) { puncList.add(KeySpecParser.getLabel(puncSpec)); puncList.add(new SuggestedWords.SuggestedWordInfo( KeySpecParser.getLabel(puncSpec))); } } } } final SuggestedWords.Builder builder = new SuggestedWords.Builder() final SuggestedWords.Builder builder = new SuggestedWords.Builder() .addWords(puncList, null) .addWords(puncList) .setIsPunctuationSuggestions(); .setIsPunctuationSuggestions(); return builder.build(); return builder.build(); } } private static SuggestedWords createSuggestPuncOutputTextList(final String[] puncs) { private static SuggestedWords createSuggestPuncOutputTextList(final String[] puncs) { final ArrayList<CharSequence> puncOutputTextList = new ArrayList<CharSequence>(); final ArrayList<SuggestedWords.SuggestedWordInfo> puncOutputTextList = new ArrayList<SuggestedWords.SuggestedWordInfo>(); if (puncs != null) { if (puncs != null) { for (final String puncSpec : puncs) { for (final String puncSpec : puncs) { final String outputText = KeySpecParser.getOutputText(puncSpec); final String outputText = KeySpecParser.getOutputText(puncSpec); if (outputText != null) { if (outputText != null) { puncOutputTextList.add(outputText); puncOutputTextList.add(new SuggestedWords.SuggestedWordInfo(outputText)); } else { } else { puncOutputTextList.add(KeySpecParser.getLabel(puncSpec)); puncOutputTextList.add(new SuggestedWords.SuggestedWordInfo( KeySpecParser.getLabel(puncSpec))); } } } } } } final SuggestedWords.Builder builder = new SuggestedWords.Builder() final SuggestedWords.Builder builder = new SuggestedWords.Builder() .addWords(puncOutputTextList, null) .addWords(puncOutputTextList) .setIsPunctuationSuggestions(); .setIsPunctuationSuggestions(); return builder.build(); return builder.build(); } } Loading
java/src/com/android/inputmethod/latin/Suggest.java +5 −3 Original line number Original line Diff line number Diff line Loading @@ -291,7 +291,8 @@ public class Suggest implements Dictionary.WordCallback { StringUtils.removeDupes(mSuggestions); StringUtils.removeDupes(mSuggestions); return new SuggestedWords.Builder().addWords(mSuggestions, null) return new SuggestedWords.Builder() .addWords(SuggestedWords.Builder.getFromCharSequenceList(mSuggestions)) .setAllowsToBeAutoCorrected(false) .setAllowsToBeAutoCorrected(false) .setHasAutoCorrection(false); .setHasAutoCorrection(false); } } Loading Loading @@ -445,11 +446,12 @@ public class Suggest implements Dictionary.WordCallback { scoreInfoList.add(new SuggestedWords.SuggestedWordInfo(mSuggestions.get(i), scoreInfoList.add(new SuggestedWords.SuggestedWordInfo(mSuggestions.get(i), "--", false)); "--", false)); } } builder = new SuggestedWords.Builder().addWords(mSuggestions, scoreInfoList) builder = new SuggestedWords.Builder().addWords(scoreInfoList) .setAllowsToBeAutoCorrected(allowsToBeAutoCorrected) .setAllowsToBeAutoCorrected(allowsToBeAutoCorrected) .setHasAutoCorrection(hasAutoCorrection); .setHasAutoCorrection(hasAutoCorrection); } else { } else { builder = new SuggestedWords.Builder().addWords(mSuggestions, null) builder = new SuggestedWords.Builder() .addWords(SuggestedWords.Builder.getFromCharSequenceList(mSuggestions)) .setAllowsToBeAutoCorrected(allowsToBeAutoCorrected) .setAllowsToBeAutoCorrected(allowsToBeAutoCorrected) .setHasAutoCorrection(hasAutoCorrection); .setHasAutoCorrection(hasAutoCorrection); } } Loading
java/src/com/android/inputmethod/latin/SuggestedWords.java +22 −15 Original line number Original line Diff line number Diff line Loading @@ -87,19 +87,17 @@ public class SuggestedWords { // Nothing to do here. // Nothing to do here. } } public Builder addWords(List<CharSequence> words, // TODO: the following method is a wrapper to satisfy tests. Update tests and remove it. List<SuggestedWordInfo> suggestedWordInfoList) { public Builder addWords(final List<CharSequence> words, final int N = words.size(); final List<SuggestedWordInfo> suggestedWordInfoList) { for (int i = 0; i < N; ++i) { return addWords(suggestedWordInfoList); final CharSequence word = words.get(i); SuggestedWordInfo suggestedWordInfo = null; if (suggestedWordInfoList != null) { suggestedWordInfo = suggestedWordInfoList.get(i); } if (suggestedWordInfo == null) { suggestedWordInfo = new SuggestedWordInfo(word); } } addWord(word, suggestedWordInfo); public Builder addWords(List<SuggestedWordInfo> suggestedWordInfoList) { final int N = suggestedWordInfoList.size(); for (int i = 0; i < N; ++i) { SuggestedWordInfo suggestedWordInfo = suggestedWordInfoList.get(i); addWord(suggestedWordInfo.mWord, suggestedWordInfo); } } return this; return this; } } Loading @@ -113,11 +111,20 @@ public class SuggestedWords { return this; return this; } } public static List<CharSequence> getFromApplicationSpecifiedCompletions( public static List<SuggestedWordInfo> getFromCharSequenceList( final List<CharSequence> wordList) { final ArrayList<SuggestedWordInfo> result = new ArrayList<SuggestedWordInfo>(); for (CharSequence word : wordList) { if (null != word) result.add(new SuggestedWordInfo(word, null, false)); } return result; } public static List<SuggestedWordInfo> getFromApplicationSpecifiedCompletions( final CompletionInfo[] infos) { final CompletionInfo[] infos) { final ArrayList<CharSequence> result = new ArrayList<CharSequence>(); final ArrayList<SuggestedWordInfo> result = new ArrayList<SuggestedWordInfo>(); for (CompletionInfo info : infos) { for (CompletionInfo info : infos) { if (null != info) result.add(info.getText()); if (null != info) result.add(new SuggestedWordInfo(info.getText(), null, false)); } } return result; return result; } } Loading