Skip to content

Commit ffdee32

Browse files
cherylEnkiduMarkDuckworthehsannas
authored
Public sum/avg (#5217)
Co-authored-by: Mark Duckworth <1124037+MarkDuckworth@users.noreply.github.com> Co-authored-by: Ehsan Nasiri <ehsann@google.com>
1 parent 406c057 commit ffdee32

File tree

10 files changed

+349
-348
lines changed

10 files changed

+349
-348
lines changed

firebase-firestore/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Unreleased
2+
* [feature] Expose Sum/Average aggregate query support in API. [#5217](//github.com/firebase/firebase-android-sdk/pull/5217)
23
* [changed] Added Kotlin extensions (KTX) APIs from `com.google.firebase:firebase-firestore-ktx`
34
to `com.google.firebase:firebase-firestore` under the `com.google.firebase.firestore` package.
45
For details, see the
56
[FAQ about this initiative](https://firebase.google.com/docs/android/kotlin-migration)
6-
77
* [deprecated] All the APIs from `com.google.firebase:firebase-firestore-ktx` have been added to
88
`com.google.firebase:firebase-firestore` under the `com.google.firebase.firestore` package,
99
and all the Kotlin extensions (KTX) APIs in `com.google.firebase:firebase-firestore-ktx` are

firebase-firestore/api.txt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,39 @@ package com.google.firebase {
1919

2020
package com.google.firebase.firestore {
2121

22+
public abstract class AggregateField {
23+
method @NonNull public static com.google.firebase.firestore.AggregateField.AverageAggregateField average(@NonNull String);
24+
method @NonNull public static com.google.firebase.firestore.AggregateField.AverageAggregateField average(@NonNull com.google.firebase.firestore.FieldPath);
25+
method @NonNull public static com.google.firebase.firestore.AggregateField.CountAggregateField count();
26+
method @NonNull @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY) public String getAlias();
27+
method @NonNull @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY) public String getFieldPath();
28+
method @NonNull @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY) public String getOperator();
29+
method @NonNull public static com.google.firebase.firestore.AggregateField.SumAggregateField sum(@NonNull String);
30+
method @NonNull public static com.google.firebase.firestore.AggregateField.SumAggregateField sum(@NonNull com.google.firebase.firestore.FieldPath);
31+
}
32+
33+
public static class AggregateField.AverageAggregateField extends com.google.firebase.firestore.AggregateField {
34+
}
35+
36+
public static class AggregateField.CountAggregateField extends com.google.firebase.firestore.AggregateField {
37+
}
38+
39+
public static class AggregateField.SumAggregateField extends com.google.firebase.firestore.AggregateField {
40+
}
41+
2242
public class AggregateQuery {
2343
method @NonNull public com.google.android.gms.tasks.Task<com.google.firebase.firestore.AggregateQuerySnapshot> get(@NonNull com.google.firebase.firestore.AggregateSource);
44+
method @NonNull @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY) public java.util.List<com.google.firebase.firestore.AggregateField> getAggregateFields();
2445
method @NonNull public com.google.firebase.firestore.Query getQuery();
2546
}
2647

2748
public class AggregateQuerySnapshot {
49+
method @Nullable public Object get(@NonNull com.google.firebase.firestore.AggregateField);
50+
method public long get(@NonNull com.google.firebase.firestore.AggregateField.CountAggregateField);
51+
method @Nullable public Double get(@NonNull com.google.firebase.firestore.AggregateField.AverageAggregateField);
2852
method public long getCount();
53+
method @Nullable public Double getDouble(@NonNull com.google.firebase.firestore.AggregateField);
54+
method @Nullable public Long getLong(@NonNull com.google.firebase.firestore.AggregateField);
2955
method @NonNull public com.google.firebase.firestore.AggregateQuery getQuery();
3056
}
3157

@@ -411,6 +437,7 @@ package com.google.firebase.firestore {
411437
method @NonNull public com.google.firebase.firestore.ListenerRegistration addSnapshotListener(@NonNull com.google.firebase.firestore.MetadataChanges, @NonNull com.google.firebase.firestore.EventListener<com.google.firebase.firestore.QuerySnapshot>);
412438
method @NonNull public com.google.firebase.firestore.ListenerRegistration addSnapshotListener(@NonNull java.util.concurrent.Executor, @NonNull com.google.firebase.firestore.MetadataChanges, @NonNull com.google.firebase.firestore.EventListener<com.google.firebase.firestore.QuerySnapshot>);
413439
method @NonNull public com.google.firebase.firestore.ListenerRegistration addSnapshotListener(@NonNull android.app.Activity, @NonNull com.google.firebase.firestore.MetadataChanges, @NonNull com.google.firebase.firestore.EventListener<com.google.firebase.firestore.QuerySnapshot>);
440+
method @NonNull public com.google.firebase.firestore.AggregateQuery aggregate(@NonNull com.google.firebase.firestore.AggregateField, @NonNull com.google.firebase.firestore.AggregateField...);
414441
method @NonNull public com.google.firebase.firestore.AggregateQuery count();
415442
method @NonNull public com.google.firebase.firestore.Query endAt(@NonNull com.google.firebase.firestore.DocumentSnapshot);
416443
method @NonNull public com.google.firebase.firestore.Query endAt(java.lang.Object...);

0 commit comments

Comments
 (0)