Skip to content

Commit 08ee0bc

Browse files
committed
Fix cleanup() without having to make a copy of mRefs.
1 parent a85b1f0 commit 08ee0bc

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

database/src/main/java/com/firebase/ui/database/FirebaseIndexArray.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
import java.util.ArrayList;
2525
import java.util.HashMap;
26+
import java.util.Iterator;
2627
import java.util.Map;
2728

2829
class FirebaseIndexArray extends FirebaseArray {
@@ -41,8 +42,11 @@ public FirebaseIndexArray(Query keyRef, Query dataRef) {
4142
@Override
4243
public void cleanup() {
4344
super.cleanup();
44-
for (Map.Entry<Query, ValueEventListener> entry : mRefs.entrySet()) {
45+
final Iterator<Map.Entry<Query, ValueEventListener>> it = mRefs.entrySet().iterator();
46+
while (it.hasNext()) {
47+
final Map.Entry<Query, ValueEventListener> entry = it.next();
4548
entry.getKey().removeEventListener(entry.getValue());
49+
it.remove();
4650
}
4751
}
4852

0 commit comments

Comments
 (0)