Refactor string removal to make it static
The next step is to move this over to the Utils class. The ultimate goal is to make use of the duplicate removal code also in the spell checker as per Bug: 5175740 Change-Id: Ica36691b843b0713b832c56ffc65e5b2ec427c4amain
parent
961453c3b3
commit
3016863f86
|
@ -426,7 +426,7 @@ public class Suggest implements Dictionary.WordCallback {
|
|||
if (typedWord != null) {
|
||||
mSuggestions.add(0, typedWordString);
|
||||
}
|
||||
removeDupes();
|
||||
removeDupes(mSuggestions);
|
||||
|
||||
if (DBG) {
|
||||
double normalizedScore = mAutoCorrection.getNormalizedScore();
|
||||
|
@ -453,8 +453,7 @@ public class Suggest implements Dictionary.WordCallback {
|
|||
return new SuggestedWords.Builder().addWords(mSuggestions, null);
|
||||
}
|
||||
|
||||
private void removeDupes() {
|
||||
final ArrayList<CharSequence> suggestions = mSuggestions;
|
||||
private static void removeDupes(final ArrayList<CharSequence> suggestions) {
|
||||
if (suggestions.size() < 2) return;
|
||||
int i = 1;
|
||||
// Don't cache suggestions.size(), since we may be removing items
|
||||
|
@ -464,7 +463,7 @@ public class Suggest implements Dictionary.WordCallback {
|
|||
for (int j = 0; j < i; j++) {
|
||||
CharSequence previous = suggestions.get(j);
|
||||
if (TextUtils.equals(cur, previous)) {
|
||||
removeFromSuggestions(i);
|
||||
removeFromSuggestions(suggestions, i);
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
|
@ -473,10 +472,12 @@ public class Suggest implements Dictionary.WordCallback {
|
|||
}
|
||||
}
|
||||
|
||||
private void removeFromSuggestions(int index) {
|
||||
CharSequence garbage = mSuggestions.remove(index);
|
||||
private static void removeFromSuggestions(final ArrayList<CharSequence> suggestions,
|
||||
final int index) {
|
||||
final CharSequence garbage = suggestions.remove(index);
|
||||
if (garbage != null && garbage instanceof StringBuilder) {
|
||||
mStringPool.add(garbage);
|
||||
// TODO: rebase this over the static string builder pool
|
||||
// mStringPool.add(garbage);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue