Protect against mConfigs changes in writeXml

Test: manual
Fixes: 131585941
Change-Id: I0241d876910a6a7008e00e27b846248363978903
This commit is contained in:
Beverly
2019-04-29 11:08:05 -04:00
parent 7def7254ea
commit 1ef2ccecdc

View File

@@ -80,7 +80,6 @@ import org.xmlpull.v1.XmlSerializer;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@@ -731,12 +730,14 @@ public class ZenModeHelper {
public void writeXml(XmlSerializer out, boolean forBackup, Integer version, int userId)
throws IOException {
final int N = mConfigs.size();
for (int i = 0; i < N; i++) {
if (forBackup && mConfigs.keyAt(i) != userId) {
continue;
synchronized (mConfigs) {
final int n = mConfigs.size();
for (int i = 0; i < n; i++) {
if (forBackup && mConfigs.keyAt(i) != userId) {
continue;
}
mConfigs.valueAt(i).writeXml(out, version);
}
mConfigs.valueAt(i).writeXml(out, version);
}
}