@@ -91,7 +91,8 @@ actual open class Query internal constructor(
91
91
get() = callbackFlow {
92
92
val listener = object : ValueEventListener {
93
93
override fun onDataChange (snapshot : com.google.firebase.database.DataSnapshot ) {
94
- offer(DataSnapshot (snapshot))
94
+ if (! isClosedForSend)
95
+ offer(DataSnapshot (snapshot))
95
96
}
96
97
97
98
override fun onCancelled (error : com.google.firebase.database.DatabaseError ) {
@@ -107,22 +108,22 @@ actual open class Query internal constructor(
107
108
108
109
val moved by lazy { types.contains(Type .MOVED ) }
109
110
override fun onChildMoved (snapshot : com.google.firebase.database.DataSnapshot , previousChildName : String? ) {
110
- if (moved) offer(ChildEvent (DataSnapshot (snapshot), Type .MOVED , previousChildName))
111
+ if (moved && ! isClosedForSend ) offer(ChildEvent (DataSnapshot (snapshot), Type .MOVED , previousChildName))
111
112
}
112
113
113
114
val changed by lazy { types.contains(Type .CHANGED ) }
114
115
override fun onChildChanged (snapshot : com.google.firebase.database.DataSnapshot , previousChildName : String? ) {
115
- if (changed) offer(ChildEvent (DataSnapshot (snapshot), Type .CHANGED , previousChildName))
116
+ if (changed && ! isClosedForSend ) offer(ChildEvent (DataSnapshot (snapshot), Type .CHANGED , previousChildName))
116
117
}
117
118
118
119
val added by lazy { types.contains(Type .ADDED ) }
119
120
override fun onChildAdded (snapshot : com.google.firebase.database.DataSnapshot , previousChildName : String? ) {
120
- if (added) offer(ChildEvent (DataSnapshot (snapshot), Type .ADDED , previousChildName))
121
+ if (added && ! isClosedForSend ) offer(ChildEvent (DataSnapshot (snapshot), Type .ADDED , previousChildName))
121
122
}
122
123
123
124
val removed by lazy { types.contains(Type .REMOVED ) }
124
125
override fun onChildRemoved (snapshot : com.google.firebase.database.DataSnapshot ) {
125
- if (removed) offer(ChildEvent (DataSnapshot (snapshot), Type .REMOVED , null ))
126
+ if (removed && ! isClosedForSend ) offer(ChildEvent (DataSnapshot (snapshot), Type .REMOVED , null ))
126
127
}
127
128
128
129
override fun onCancelled (error : com.google.firebase.database.DatabaseError ) {
0 commit comments