Skip to content

Commit a283019

Browse files
authored
Minor cleanups related to composite filters (backport from iOS). (#3796)
1 parent dafbef2 commit a283019

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

firebase-firestore/src/main/java/com/google/firebase/firestore/Query.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -618,7 +618,7 @@ private void validateNewFieldFilter(
618618
validateOrderByFieldMatchesInequality(firstOrderByField, newInequality);
619619
}
620620
}
621-
Operator conflictingOp = findFilterWithOperator(query.getFilters(), conflictingOps(filterOp));
621+
Operator conflictingOp = findOpInsideFilters(query.getFilters(), conflictingOps(filterOp));
622622
if (conflictingOp != null) {
623623
// We special case when it's a duplicate op to give a slightly clearer error message.
624624
if (conflictingOp == filterOp) {
@@ -649,7 +649,7 @@ private void validateNewFilter(com.google.firebase.firestore.core.Filter filter)
649649
* returns the first one that is, or null if none are.
650650
*/
651651
@Nullable
652-
private Operator findFilterWithOperator(
652+
private Operator findOpInsideFilters(
653653
List<com.google.firebase.firestore.core.Filter> filters, List<Operator> operators) {
654654
for (com.google.firebase.firestore.core.Filter filter : filters) {
655655
for (FieldFilter fieldFilter : filter.getFlattenedFilters()) {

firebase-firestore/src/main/java/com/google/firebase/firestore/core/CompositeFilter.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -115,14 +115,9 @@ public CompositeFilter withAddedFilters(List<Filter> otherFilters) {
115115
*/
116116
@Nullable
117117
private FieldFilter findFirstMatchingFilter(Function<FieldFilter, Boolean> condition) {
118-
for (Filter filter : filters) {
119-
if (filter instanceof FieldFilter && condition.apply(((FieldFilter) filter))) {
120-
return (FieldFilter) filter;
121-
} else if (filter instanceof CompositeFilter) {
122-
FieldFilter found = ((CompositeFilter) filter).findFirstMatchingFilter(condition);
123-
if (found != null) {
124-
return found;
125-
}
118+
for (FieldFilter filter : getFlattenedFilters()) {
119+
if (condition.apply(filter)) {
120+
return filter;
126121
}
127122
}
128123
return null;

0 commit comments

Comments
 (0)