Use an iterator to remove stuff from an ArrayList.

Silly me >.>

Bug: 9306154
Change-Id: Ic00e9d6a31cd1d7aacefe68b7be9c2199e297b0d
main
Jean Chalard 2013-06-06 15:52:13 +09:00
parent 0bfc2bc419
commit 0dc422e0c7
1 changed files with 7 additions and 4 deletions

View File

@ -30,6 +30,7 @@ import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Locale;
/**
@ -301,12 +302,14 @@ public class DictionaryInfoUtils {
private static void addOrUpdateDictInfo(final ArrayList<DictionaryInfo> dictList,
final DictionaryInfo newElement) {
for (final DictionaryInfo info : dictList) {
if (info.mLocale.equals(newElement.mLocale)) {
if (newElement.mVersion <= info.mVersion) {
final Iterator<DictionaryInfo> iter = dictList.iterator();
while (iter.hasNext()) {
final DictionaryInfo thisDictInfo = iter.next();
if (thisDictInfo.mLocale.equals(newElement.mLocale)) {
if (newElement.mVersion <= thisDictInfo.mVersion) {
return;
}
dictList.remove(info);
iter.remove();
}
}
dictList.add(newElement);