Revert "Kill methods with side-effects"
This reverts commit ca0e04868891c461a3e6f30bf15d209d622c8349
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java
index 1f4909f..abd1dc6 100644
--- a/java/src/com/android/inputmethod/latin/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/SettingsValues.java
@@ -28,7 +28,6 @@
import com.android.inputmethod.compat.VibratorCompatWrapper;
import com.android.inputmethod.keyboard.internal.KeySpecParser;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -175,34 +174,28 @@
}
private static SuggestedWords createSuggestPuncList(final String[] puncs) {
- final ArrayList<CharSequence> puncList = new ArrayList<CharSequence>();
+ final SuggestedWords.Builder builder = new SuggestedWords.Builder();
if (puncs != null) {
for (final String puncSpec : puncs) {
- puncList.add(KeySpecParser.getLabel(puncSpec));
+ builder.addWord(KeySpecParser.getLabel(puncSpec));
}
}
- final SuggestedWords.Builder builder = new SuggestedWords.Builder()
- .addWords(puncList, null)
- .setIsPunctuationSuggestions();
- return builder.build();
+ return builder.setIsPunctuationSuggestions().build();
}
private static SuggestedWords createSuggestPuncOutputTextList(final String[] puncs) {
- final ArrayList<CharSequence> puncOutputTextList = new ArrayList<CharSequence>();
+ final SuggestedWords.Builder builder = new SuggestedWords.Builder();
if (puncs != null) {
for (final String puncSpec : puncs) {
final String outputText = KeySpecParser.getOutputText(puncSpec);
if (outputText != null) {
- puncOutputTextList.add(outputText);
+ builder.addWord(outputText);
} else {
- puncOutputTextList.add(KeySpecParser.getLabel(puncSpec));
+ builder.addWord(KeySpecParser.getLabel(puncSpec));
}
}
}
- final SuggestedWords.Builder builder = new SuggestedWords.Builder()
- .addWords(puncOutputTextList, null)
- .setIsPunctuationSuggestions();
- return builder.build();
+ return builder.setIsPunctuationSuggestions().build();
}
private static String createWordSeparators(final String weakSpaceStrippers,
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index a603fd8..4a51e79 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -104,6 +104,17 @@
return this;
}
+ public Builder addWord(CharSequence word) {
+ return addWord(word, null, false);
+ }
+
+ public Builder addWord(CharSequence word, CharSequence debugString,
+ boolean isPreviousSuggestedWord) {
+ SuggestedWordInfo info = new SuggestedWordInfo(word, debugString,
+ isPreviousSuggestedWord);
+ return addWord(word, info);
+ }
+
/* package for tests */
Builder addWord(CharSequence word, SuggestedWordInfo suggestedWordInfo) {
if (!TextUtils.isEmpty(suggestedWordInfo.mWord)) {