From 1ef2ccecdc38a78c2fc90d79bbba1f191b13cbcd Mon Sep 17 00:00:00 2001 From: Beverly Date: Mon, 29 Apr 2019 11:08:05 -0400 Subject: [PATCH] Protect against mConfigs changes in writeXml Test: manual Fixes: 131585941 Change-Id: I0241d876910a6a7008e00e27b846248363978903 --- .../android/server/notification/ZenModeHelper.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java index 981e0f58ef2bb..f81015dae4685 100644 --- a/services/core/java/com/android/server/notification/ZenModeHelper.java +++ b/services/core/java/com/android/server/notification/ZenModeHelper.java @@ -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); } }