Skip to content

Commit b77c218

Browse files
authored
Snapshot listener source from cache (#5690)
1 parent df84f5f commit b77c218

File tree

13 files changed

+7053
-29
lines changed

13 files changed

+7053
-29
lines changed

firebase-firestore/CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Unreleased
2-
2+
* [feature] Enable snapshot listener option to retrieve data from local cache only. [#5690](//github.com/firebase/firebase-android-sdk/pull/5690)
33

44
# 24.10.3
55
* [fixed] Fixed the missing handling setter annotations bug introduced by [#5626](//github.com/firebase/firebase-android-sdk/pull/5626). [#5706](//github.com/firebase/firebase-android-sdk/pull/5706)

firebase-firestore/api.txt

+23
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ package com.google.firebase.firestore {
9797
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.DocumentSnapshot>);
9898
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.DocumentSnapshot>);
9999
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.DocumentSnapshot>);
100+
method @NonNull public com.google.firebase.firestore.ListenerRegistration addSnapshotListener(@NonNull com.google.firebase.firestore.SnapshotListenOptions, @NonNull com.google.firebase.firestore.EventListener<com.google.firebase.firestore.DocumentSnapshot>);
100101
method @NonNull public com.google.firebase.firestore.CollectionReference collection(@NonNull String);
101102
method @NonNull public com.google.android.gms.tasks.Task<java.lang.Void> delete();
102103
method @NonNull public com.google.android.gms.tasks.Task<com.google.firebase.firestore.DocumentSnapshot> get();
@@ -318,6 +319,11 @@ package com.google.firebase.firestore {
318319
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public @interface IgnoreExtraProperties {
319320
}
320321

322+
public enum ListenSource {
323+
enum_constant public static final com.google.firebase.firestore.ListenSource CACHE;
324+
enum_constant public static final com.google.firebase.firestore.ListenSource DEFAULT;
325+
}
326+
321327
public interface ListenerRegistration {
322328
method public void remove();
323329
}
@@ -437,6 +443,7 @@ package com.google.firebase.firestore {
437443
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>);
438444
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>);
439445
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>);
446+
method @NonNull public com.google.firebase.firestore.ListenerRegistration addSnapshotListener(@NonNull com.google.firebase.firestore.SnapshotListenOptions, @NonNull com.google.firebase.firestore.EventListener<com.google.firebase.firestore.QuerySnapshot>);
440447
method @NonNull public com.google.firebase.firestore.AggregateQuery aggregate(@NonNull com.google.firebase.firestore.AggregateField, @NonNull com.google.firebase.firestore.AggregateField...);
441448
method @NonNull public com.google.firebase.firestore.AggregateQuery count();
442449
method @NonNull public com.google.firebase.firestore.Query endAt(@NonNull com.google.firebase.firestore.DocumentSnapshot);
@@ -510,6 +517,22 @@ package com.google.firebase.firestore {
510517
method @NonNull public static com.google.firebase.firestore.SetOptions mergeFields(java.lang.String...);
511518
}
512519

520+
public final class SnapshotListenOptions {
521+
method @Nullable public android.app.Activity getActivity();
522+
method @NonNull public java.util.concurrent.Executor getExecutor();
523+
method @NonNull public com.google.firebase.firestore.MetadataChanges getMetadataChanges();
524+
method @NonNull public com.google.firebase.firestore.ListenSource getSource();
525+
}
526+
527+
public static class SnapshotListenOptions.Builder {
528+
ctor public SnapshotListenOptions.Builder();
529+
method @NonNull public com.google.firebase.firestore.SnapshotListenOptions build();
530+
method @NonNull public com.google.firebase.firestore.SnapshotListenOptions.Builder setActivity(@NonNull android.app.Activity);
531+
method @NonNull public com.google.firebase.firestore.SnapshotListenOptions.Builder setExecutor(@NonNull java.util.concurrent.Executor);
532+
method @NonNull public com.google.firebase.firestore.SnapshotListenOptions.Builder setMetadataChanges(@NonNull com.google.firebase.firestore.MetadataChanges);
533+
method @NonNull public com.google.firebase.firestore.SnapshotListenOptions.Builder setSource(@NonNull com.google.firebase.firestore.ListenSource);
534+
}
535+
513536
public class SnapshotMetadata {
514537
method public boolean hasPendingWrites();
515538
method public boolean isFromCache();

0 commit comments

Comments
 (0)