modify the concurrentmodificationexception in the senfers in CrossprofileSenders.java
Test:CtsDevicePolicyTestCases
Bug:292471207
(cherry picked from https://android-review.googlesource.com/q/commit:2067f2a64659376c0f5d125ec5e2dea033ac1c57)
Merged-In: I52ebfa22d61ba8fdf2af481d034a07d37429dd43
Change-Id: I52ebfa22d61ba8fdf2af481d034a07d37429dd43
diff --git a/sdk/src/main/java/com/google/android/enterprise/connectedapps/CrossProfileSender.java b/sdk/src/main/java/com/google/android/enterprise/connectedapps/CrossProfileSender.java
index 0432696..91aaadc 100644
--- a/sdk/src/main/java/com/google/android/enterprise/connectedapps/CrossProfileSender.java
+++ b/sdk/src/main/java/com/google/android/enterprise/connectedapps/CrossProfileSender.java
@@ -49,11 +49,13 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
 import java.util.WeakHashMap;
+import java.util.Iterator;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentLinkedDeque;
 import java.util.concurrent.CountDownLatch;
@@ -283,13 +285,15 @@
   // This is synchronized which isn't massively performant but it only gets accessed once straight
   // after creating a Sender, and once each time availability changes
   private static final Set<CrossProfileSender> senders =
-      synchronizedSet(newSetFromMap(new WeakHashMap<>()));
+     synchronizedSet(newSetFromMap(new WeakHashMap<>()));
 
   private static final BroadcastReceiver profileAvailabilityReceiver = new BroadcastReceiver() {
     @Override
     public void onReceive(Context context, Intent intent) {
-      for (CrossProfileSender sender : senders) {
-        sender.scheduledExecutorService.execute(sender::checkAvailability);
+      synchronized (senders) {
+        for (CrossProfileSender sender : senders) {
+          sender.scheduledExecutorService.execute(sender::checkAvailability);
+        }
       }
     }
   };