Use an iterator to remove stuff from an ArrayList.
Silly me >.> Bug: 9306154 Change-Id: Ic00e9d6a31cd1d7aacefe68b7be9c2199e297b0dmain
parent
0bfc2bc419
commit
0dc422e0c7
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue