mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
Kill methods with side-effects, take 2
...working this time Change-Id: I80e377e6250d3817f1e067a551bca2a557740764
This commit is contained in:
parent
041c3d3841
commit
7c9bff96f0
@ -28,6 +28,7 @@ import com.android.inputmethod.compat.InputTypeCompatUtils;
|
|||||||
import com.android.inputmethod.compat.VibratorCompatWrapper;
|
import com.android.inputmethod.compat.VibratorCompatWrapper;
|
||||||
import com.android.inputmethod.keyboard.internal.KeySpecParser;
|
import com.android.inputmethod.keyboard.internal.KeySpecParser;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -174,28 +175,34 @@ public class SettingsValues {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static SuggestedWords createSuggestPuncList(final String[] puncs) {
|
private static SuggestedWords createSuggestPuncList(final String[] puncs) {
|
||||||
final SuggestedWords.Builder builder = new SuggestedWords.Builder();
|
final ArrayList<CharSequence> puncList = new ArrayList<CharSequence>();
|
||||||
if (puncs != null) {
|
if (puncs != null) {
|
||||||
for (final String puncSpec : puncs) {
|
for (final String puncSpec : puncs) {
|
||||||
builder.addWord(KeySpecParser.getLabel(puncSpec));
|
puncList.add(KeySpecParser.getLabel(puncSpec));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return builder.setIsPunctuationSuggestions().build();
|
final SuggestedWords.Builder builder = new SuggestedWords.Builder()
|
||||||
|
.addWords(puncList, null)
|
||||||
|
.setIsPunctuationSuggestions();
|
||||||
|
return builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static SuggestedWords createSuggestPuncOutputTextList(final String[] puncs) {
|
private static SuggestedWords createSuggestPuncOutputTextList(final String[] puncs) {
|
||||||
final SuggestedWords.Builder builder = new SuggestedWords.Builder();
|
final ArrayList<CharSequence> puncOutputTextList = new ArrayList<CharSequence>();
|
||||||
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) {
|
||||||
builder.addWord(outputText);
|
puncOutputTextList.add(outputText);
|
||||||
} else {
|
} else {
|
||||||
builder.addWord(KeySpecParser.getLabel(puncSpec));
|
puncOutputTextList.add(KeySpecParser.getLabel(puncSpec));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return builder.setIsPunctuationSuggestions().build();
|
final SuggestedWords.Builder builder = new SuggestedWords.Builder()
|
||||||
|
.addWords(puncOutputTextList, null)
|
||||||
|
.setIsPunctuationSuggestions();
|
||||||
|
return builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String createWordSeparators(final String weakSpaceStrippers,
|
private static String createWordSeparators(final String weakSpaceStrippers,
|
||||||
|
@ -104,17 +104,6 @@ public class SuggestedWords {
|
|||||||
return this;
|
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 */
|
/* package for tests */
|
||||||
Builder addWord(CharSequence word, SuggestedWordInfo suggestedWordInfo) {
|
Builder addWord(CharSequence word, SuggestedWordInfo suggestedWordInfo) {
|
||||||
if (!TextUtils.isEmpty(suggestedWordInfo.mWord)) {
|
if (!TextUtils.isEmpty(suggestedWordInfo.mWord)) {
|
||||||
@ -169,14 +158,14 @@ public class SuggestedWords {
|
|||||||
SuggestedWords previousSuggestions) {
|
SuggestedWords previousSuggestions) {
|
||||||
mSuggestedWordInfoList.clear();
|
mSuggestedWordInfoList.clear();
|
||||||
final HashSet<String> alreadySeen = new HashSet<String>();
|
final HashSet<String> alreadySeen = new HashSet<String>();
|
||||||
addWord(typedWord, null, false);
|
addWord(typedWord, new SuggestedWordInfo(typedWord, null, false));
|
||||||
alreadySeen.add(typedWord.toString());
|
alreadySeen.add(typedWord.toString());
|
||||||
final int previousSize = previousSuggestions.size();
|
final int previousSize = previousSuggestions.size();
|
||||||
for (int pos = 1; pos < previousSize; pos++) {
|
for (int pos = 1; pos < previousSize; pos++) {
|
||||||
final String prevWord = previousSuggestions.getWord(pos).toString();
|
final String prevWord = previousSuggestions.getWord(pos).toString();
|
||||||
// Filter out duplicate suggestion.
|
// Filter out duplicate suggestion.
|
||||||
if (!alreadySeen.contains(prevWord)) {
|
if (!alreadySeen.contains(prevWord)) {
|
||||||
addWord(prevWord, null, true);
|
addWord(prevWord, new SuggestedWordInfo(prevWord, null, true));
|
||||||
alreadySeen.add(prevWord);
|
alreadySeen.add(prevWord);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user