Skip to content

Commit 4491f0a

Browse files
author
Brian Chen
authored
Only iterate across active targets in WatchChangeAggregator (#1422)
1 parent f0bda45 commit 4491f0a

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

firebase-firestore/src/main/java/com/google/firebase/firestore/remote/WatchChangeAggregator.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import com.google.firebase.firestore.remote.WatchChange.DocumentChange;
3232
import com.google.firebase.firestore.remote.WatchChange.ExistenceFilterWatchChange;
3333
import com.google.firebase.firestore.remote.WatchChange.WatchTargetChange;
34+
import java.util.ArrayList;
3435
import java.util.Collection;
3536
import java.util.Collections;
3637
import java.util.HashMap;
@@ -162,7 +163,13 @@ private Collection<Integer> getTargetIds(WatchTargetChange targetChange) {
162163
if (!targetIds.isEmpty()) {
163164
return targetIds;
164165
} else {
165-
return targetStates.keySet();
166+
List<Integer> activeIds = new ArrayList<>();
167+
for (Integer id : targetStates.keySet()) {
168+
if (isActiveTarget(id)) {
169+
activeIds.add(id);
170+
}
171+
}
172+
return activeIds;
166173
}
167174
}
168175

0 commit comments

Comments
 (0)