File tree Expand file tree Collapse file tree 1 file changed +6
-3
lines changed
database/src/main/java/com/firebase/ui/database Expand file tree Collapse file tree 1 file changed +6
-3
lines changed Original file line number Diff line number Diff line change 28
28
import java .util .Iterator ;
29
29
import java .util .List ;
30
30
import java .util .ListIterator ;
31
+ import java .util .concurrent .CopyOnWriteArrayList ;
31
32
32
33
/**
33
34
* This class implements a collection on top of a Firebase location.
34
35
*/
35
36
public class FirebaseArray extends ImmutableList <DataSnapshot > implements ChildEventListener , ValueEventListener {
36
37
private Query mQuery ;
37
38
private boolean mNotifyListeners = true ;
38
- private final List <ChangeEventListener > mListeners = new ArrayList <>();
39
+ private final List <ChangeEventListener > mListeners = new CopyOnWriteArrayList <>();
39
40
private List <SubscriptionEventListener > mSubscribers = new ArrayList <>();
40
41
private List <DataSnapshot > mSnapshots = new ArrayList <>();
41
42
@@ -138,8 +139,10 @@ private static void checkNotNull(Object o) {
138
139
* @return true if {@link FirebaseArray} is listening for change events from the Firebase
139
140
* database, false otherwise
140
141
*/
141
- public synchronized boolean isListening () {
142
- return !mListeners .isEmpty ();
142
+ public boolean isListening () {
143
+ synchronized (mListeners ) {
144
+ return !mListeners .isEmpty ();
145
+ }
143
146
}
144
147
145
148
@ Override
You can’t perform that action at this time.
0 commit comments