Change Call Listeners to a concurrent Set.

Was running into concurrency issues so switching over to a more
resolient Set type that can handle removes during iteration.

Bug: 16299107
Change-Id: I6ea47d27589b8a1a5fc96bcc32ccf34b93b0cd19
diff --git a/src/com/android/telecomm/Call.java b/src/com/android/telecomm/Call.java
index 5f28df8..e4fdcc5 100644
--- a/src/com/android/telecomm/Call.java
+++ b/src/com/android/telecomm/Call.java
@@ -43,7 +43,6 @@
 import com.android.internal.telephony.SmsApplication;
 import com.android.telecomm.ContactsAsyncHelper.OnImageLoadCompleteListener;
 import com.google.common.base.Preconditions;
-import com.google.common.collect.Sets;
 
 import java.util.Collections;
 import java.util.LinkedList;
@@ -51,6 +50,7 @@
 import java.util.Locale;
 import java.util.Objects;
 import java.util.Set;
+import java.util.concurrent.CopyOnWriteArraySet;
 
 /**
  *  Encapsulates all aspects of a given phone call throughout its lifecycle, starting
@@ -216,7 +216,7 @@
     private Bundle mExtras = Bundle.EMPTY;
 
     /** Set of listeners on this call. */
-    private Set<Listener> mListeners = Sets.newHashSet();
+    private Set<Listener> mListeners = new CopyOnWriteArraySet<>();
 
     private CreateConnectionProcessor mCreateConnectionProcessor;