commit | a82c8f794a0a1a9eaa1329a6361abe28043d139a | [log] [tgz] |
---|---|---|
author | Jay Shrauner <shrauner@google.com> | Thu Aug 14 15:49:16 2014 -0700 |
committer | Jay Shrauner <shrauner@google.com> | Fri Aug 15 13:56:18 2014 -0700 |
tree | 1d4c4838afe5011e6e12f84c3d308c2129873ce8 | |
parent | 28b57a5abd668ab9239bcd82d6f90e9e104b3044 [diff] [blame] |
Prevent ConcurrentModificationExceptions Use sets backed by ConcurrentHashMaps instead of HashSets to prevent concurrent exceptions if listeners try to remove themselves in callbacks while iterating over the listeners. Bug:16325026 Change-Id: I5089eac83154f8d71b759a891c0fbf3d3a9a4e6a
diff --git a/src/com/android/telecomm/PhoneAccountRegistrar.java b/src/com/android/telecomm/PhoneAccountRegistrar.java index 98dcdf3..71eb95b 100644 --- a/src/com/android/telecomm/PhoneAccountRegistrar.java +++ b/src/com/android/telecomm/PhoneAccountRegistrar.java
@@ -288,7 +288,9 @@ } public void removeListener(Listener l) { - mListeners.remove(l); + if (l != null) { + mListeners.remove(l); + } } private void fireAccountsChanged() {