Skip to content

Commit 6a81979

Browse files
Last round of feedback
1 parent 6f88767 commit 6a81979

File tree

27 files changed

+222
-205
lines changed

27 files changed

+222
-205
lines changed

firebase-firestore/ktx/src/test/java/com/google/firebase/firestore/TestUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public static QuerySnapshot querySnapshot(
7777
for (Map.Entry<String, ObjectValue> pair : oldDocs.entrySet()) {
7878
String docKey = path + "/" + pair.getKey();
7979
MutableDocument doc = doc(docKey, 1L, pair.getValue());
80-
if (hasPendingWrites) doc.setLocalMutations();
80+
if (hasPendingWrites) doc.setHasLocalMutations();
8181
oldDocuments = oldDocuments.add(doc);
8282
if (hasPendingWrites) {
8383
mutatedKeys = mutatedKeys.insert(key(docKey));
@@ -88,7 +88,7 @@ public static QuerySnapshot querySnapshot(
8888
for (Map.Entry<String, ObjectValue> pair : docsToAdd.entrySet()) {
8989
String docKey = path + "/" + pair.getKey();
9090
MutableDocument docToAdd = doc(docKey, 1L, pair.getValue());
91-
if (hasPendingWrites) docToAdd.setLocalMutations();
91+
if (hasPendingWrites) docToAdd.setHasLocalMutations();
9292
newDocuments = newDocuments.add(docToAdd);
9393
documentChanges.add(DocumentViewChange.create(Type.ADDED, docToAdd));
9494

firebase-firestore/ktx/src/test/java/com/google/firebase/firestore/testutil/TestUtil.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,19 @@ public static SnapshotVersion version(long versionMicros) {
6464
}
6565

6666
public static MutableDocument doc(String key, long version, Map<String, Object> data) {
67-
return new MutableDocument(key(key)).setFoundDocument(version(version), wrapObject(data));
67+
return doc(key(key), version, wrapObject(data));
6868
}
6969

7070
public static MutableDocument doc(DocumentKey key, long version, Map<String, Object> data) {
71-
return new MutableDocument(key).setFoundDocument(version(version), wrapObject(data));
71+
return doc(key, version, wrapObject(data));
7272
}
7373

7474
public static MutableDocument doc(String key, long version, ObjectValue data) {
75-
return new MutableDocument(key(key)).setFoundDocument(version(version), data);
75+
return doc(key(key), version, data);
76+
}
77+
78+
public static MutableDocument doc(DocumentKey key, long version, ObjectValue data) {
79+
return new MutableDocument(key).convertToFoundDocument(version(version), data);
7680
}
7781

7882
public static DocumentSet docSet(Comparator<Document> comparator, MutableDocument... documents) {

firebase-firestore/src/main/java/com/google/firebase/firestore/bundle/BundleLoader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public BundleLoader(BundleCallback bundleCallback, BundleMetadata bundleMetadata
7474
documents.insert(
7575
bundledDocumentMetadata.getKey(),
7676
new MutableDocument(bundledDocumentMetadata.getKey())
77-
.setNoDocument(bundledDocumentMetadata.getReadTime()));
77+
.convertToNoDocument(bundledDocumentMetadata.getReadTime()));
7878
currentDocument = null;
7979
}
8080
} else if (bundleElement instanceof BundleDocument) {

firebase-firestore/src/main/java/com/google/firebase/firestore/bundle/BundleSerializer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,8 @@ BundleDocument decodeDocument(JSONObject document) throws JSONException {
112112

113113
return new BundleDocument(
114114
new MutableDocument(key)
115-
.setFoundDocument(updateTime, ObjectValue.fromMap(value.getMapValue().getFieldsMap())));
115+
.convertToFoundDocument(
116+
updateTime, ObjectValue.fromMap(value.getMapValue().getFieldsMap())));
116117
}
117118

118119
private ResourcePath decodeName(String name) {

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,8 @@ public void handleRejectedListen(int targetId, Status error) {
407407
// It's a limbo doc. Create a synthetic event saying it was deleted. This is kind of a hack.
408408
// Ideally, we would have a method in the local store to purge a document. However, it would
409409
// be tricky to keep all of the local store's invariants with another method.
410-
MutableDocument result = new MutableDocument(limboKey).setNoDocument(SnapshotVersion.NONE);
410+
MutableDocument result =
411+
new MutableDocument(limboKey).convertToNoDocument(SnapshotVersion.NONE);
411412
Map<DocumentKey, MutableDocument> documentUpdates =
412413
Collections.singletonMap(limboKey, result);
413414
Set<DocumentKey> limboDocuments = Collections.singleton(limboKey);

firebase-firestore/src/main/java/com/google/firebase/firestore/local/LocalDocumentsView.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ IndexManager getIndexManager() {
7171
/**
7272
* Returns the the local view of the document identified by {@code key}.
7373
*
74-
* @return Local view of the document or a null if we don't have any cached state for it.
74+
* @return Local view of the document or a an invalid document if we don't have any cached state
75+
* for it.
7576
*/
7677
Document getDocument(DocumentKey key) {
7778
List<MutationBatch> batches = mutationQueue.getAllMutationBatchesAffectingDocumentKey(key);
@@ -87,8 +88,8 @@ private Document getDocument(DocumentKey key, List<MutationBatch> inBatches) {
8788
return document;
8889
}
8990

90-
// Returns the view of the given {@code docs} as they would appear after applying all mutations in
91-
// the given {@code batches}.
91+
// Applies the given {@code batches} to the given {@code docs}. The docs are updated to reflect
92+
// the contents of the mutations.
9293
private void applyLocalMutationsToDocuments(
9394
Map<DocumentKey, MutableDocument> docs, List<MutationBatch> batches) {
9495
for (Map.Entry<DocumentKey, MutableDocument> base : docs.entrySet()) {

firebase-firestore/src/main/java/com/google/firebase/firestore/local/LocalSerializer.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ private MutableDocument decodeDocument(
102102
SnapshotVersion version = rpcSerializer.decodeVersion(document.getUpdateTime());
103103
MutableDocument result =
104104
new MutableDocument(key)
105-
.setFoundDocument(version, ObjectValue.fromMap(document.getFieldsMap()));
106-
return hasCommittedMutations ? result.setCommittedMutations() : result;
105+
.convertToFoundDocument(version, ObjectValue.fromMap(document.getFieldsMap()));
106+
return hasCommittedMutations ? result.setHasCommittedMutations() : result;
107107
}
108108

109109
/** Encodes a NoDocument value to the equivalent proto. */
@@ -121,8 +121,8 @@ private MutableDocument decodeNoDocument(
121121
com.google.firebase.firestore.proto.NoDocument proto, boolean hasCommittedMutations) {
122122
DocumentKey key = rpcSerializer.decodeKey(proto.getName());
123123
SnapshotVersion version = rpcSerializer.decodeVersion(proto.getReadTime());
124-
MutableDocument result = new MutableDocument(key).setNoDocument(version);
125-
return hasCommittedMutations ? result.setCommittedMutations() : result;
124+
MutableDocument result = new MutableDocument(key).convertToNoDocument(version);
125+
return hasCommittedMutations ? result.setHasCommittedMutations() : result;
126126
}
127127

128128
/** Encodes a UnknownDocument value to the equivalent proto. */
@@ -140,7 +140,7 @@ private MutableDocument decodeUnknownDocument(
140140
com.google.firebase.firestore.proto.UnknownDocument proto) {
141141
DocumentKey key = rpcSerializer.decodeKey(proto.getName());
142142
SnapshotVersion version = rpcSerializer.decodeVersion(proto.getVersion());
143-
return new MutableDocument(key).setUnknownDocument(version);
143+
return new MutableDocument(key).convertToUnknownDocument(version);
144144
}
145145

146146
/** Encodes a MutationBatch model for local storage in the mutation queue. */

firebase-firestore/src/main/java/com/google/firebase/firestore/model/MutableDocument.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ public final class MutableDocument implements Document, Cloneable {
2222
private enum DocumentType {
2323
/**
2424
* Represents the initial state of a MutableDocument when only the document key is known.
25-
* Invalid documents transition to other states as mutations are applied. If a document remain
26-
* invalids after applying mutations, it should be discarded.
25+
* Invalid documents transition to other states as mutations are applied. If a document remains
26+
* invalid after applying mutations, it should be discarded.
2727
*/
2828
INVALID,
2929
/**
@@ -43,9 +43,9 @@ private enum DocumentType {
4343
/** Describes the `hasPendingWrites` state of a document. */
4444
private enum DocumentState {
4545
/** Local mutations applied via the mutation queue. Document is potentially inconsistent. */
46-
LOCAL_MUTATIONS,
46+
HAS_LOCAL_MUTATIONS,
4747
/** Mutations applied based on a write acknowledgment. Document is potentially inconsistent. */
48-
COMMITTED_MUTATIONS,
48+
HAS_COMMITTED_MUTATIONS,
4949
/** No mutations applied. Document was sent to us by Watch. */
5050
SYNCED
5151
}
@@ -76,7 +76,7 @@ private MutableDocument(
7676
/**
7777
* Changes the document type to indicate that it exists and that its version and data are known.
7878
*/
79-
public MutableDocument setFoundDocument(SnapshotVersion version, ObjectValue value) {
79+
public MutableDocument convertToFoundDocument(SnapshotVersion version, ObjectValue value) {
8080
this.version = version;
8181
this.documentType = DocumentType.FOUND_DOCUMENT;
8282
this.value = value;
@@ -85,7 +85,7 @@ public MutableDocument setFoundDocument(SnapshotVersion version, ObjectValue val
8585
}
8686

8787
/** Changes the document type to indicate that it doesn't exist at the given version. */
88-
public MutableDocument setNoDocument(SnapshotVersion version) {
88+
public MutableDocument convertToNoDocument(SnapshotVersion version) {
8989
this.version = version;
9090
this.documentType = DocumentType.NO_DOCUMENT;
9191
this.value = new ObjectValue();
@@ -97,21 +97,21 @@ public MutableDocument setNoDocument(SnapshotVersion version) {
9797
* Changes the document type to indicate that it exists at a given version but that is data is not
9898
* known (e.g. a document that was updated without a known base document).
9999
*/
100-
public MutableDocument setUnknownDocument(SnapshotVersion version) {
100+
public MutableDocument convertToUnknownDocument(SnapshotVersion version) {
101101
this.version = version;
102102
this.documentType = DocumentType.UNKNOWN_DOCUMENT;
103103
this.value = new ObjectValue();
104-
this.documentState = DocumentState.COMMITTED_MUTATIONS;
104+
this.documentState = DocumentState.HAS_COMMITTED_MUTATIONS;
105105
return this;
106106
}
107107

108-
public MutableDocument setCommittedMutations() {
109-
this.documentState = DocumentState.COMMITTED_MUTATIONS;
108+
public MutableDocument setHasCommittedMutations() {
109+
this.documentState = DocumentState.HAS_COMMITTED_MUTATIONS;
110110
return this;
111111
}
112112

113-
public MutableDocument setLocalMutations() {
114-
this.documentState = DocumentState.LOCAL_MUTATIONS;
113+
public MutableDocument setHasLocalMutations() {
114+
this.documentState = DocumentState.HAS_LOCAL_MUTATIONS;
115115
return this;
116116
}
117117

@@ -131,13 +131,13 @@ public SnapshotVersion getVersion() {
131131
/** Returns whether local mutations were applied via the mutation queue. */
132132
@Override
133133
public boolean hasLocalMutations() {
134-
return documentState.equals(DocumentState.LOCAL_MUTATIONS);
134+
return documentState.equals(DocumentState.HAS_LOCAL_MUTATIONS);
135135
}
136136

137137
/** Returns whether mutations were applied based on a write acknowledgment. */
138138
@Override
139139
public boolean hasCommittedMutations() {
140-
return documentState.equals(DocumentState.COMMITTED_MUTATIONS);
140+
return documentState.equals(DocumentState.HAS_COMMITTED_MUTATIONS);
141141
}
142142

143143
/**

firebase-firestore/src/main/java/com/google/firebase/firestore/model/mutation/DeleteMutation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,15 @@ public void applyToRemoteDocument(MutableDocument document, MutationResult mutat
6464

6565
// We store the deleted document at the commit version of the delete. Any document version
6666
// that the server sends us before the delete was applied is discarded
67-
document.setNoDocument(mutationResult.getVersion()).setCommittedMutations();
67+
document.convertToNoDocument(mutationResult.getVersion()).setHasCommittedMutations();
6868
}
6969

7070
@Override
7171
public void applyToLocalView(MutableDocument document, Timestamp localWriteTime) {
7272
verifyKeyMatches(document);
7373

7474
if (getPrecondition().isValidFor(document)) {
75-
document.setNoDocument(SnapshotVersion.NONE);
75+
document.convertToNoDocument(SnapshotVersion.NONE);
7676
}
7777
}
7878
}

firebase-firestore/src/main/java/com/google/firebase/firestore/model/mutation/Mutation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ static SnapshotVersion getPostMutationVersion(MutableDocument document) {
156156
*
157157
* @param mutableDocument The current state of the document after applying all previous mutations.
158158
* @param serverTransformResults The transform results received by the server.
159-
* @return The transform results list.
159+
* @return A map of fields to transform results.
160160
*/
161161
protected Map<FieldPath, Value> serverTransformResults(
162162
MutableDocument mutableDocument, List<Value> serverTransformResults) {
@@ -189,7 +189,7 @@ protected Map<FieldPath, Value> serverTransformResults(
189189
*
190190
* @param localWriteTime The local time of the mutation (used to generate ServerTimestampValues).
191191
* @param mutableDocument The current state of the document after applying all previous mutations.
192-
* @return The transform results list.
192+
* @return A map of fields to transform results.
193193
*/
194194
protected Map<FieldPath, Value> localTransformResults(
195195
Timestamp localWriteTime, MutableDocument mutableDocument) {

firebase-firestore/src/main/java/com/google/firebase/firestore/model/mutation/MutationBatch.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ public ImmutableSortedMap<DocumentKey, Document> applyToLocalDocumentSet(
137137
MutableDocument document = (MutableDocument) documentMap.get(key);
138138
applyToLocalView(document);
139139
if (!document.isValidDocument()) {
140-
document.setNoDocument(SnapshotVersion.NONE);
140+
document.convertToNoDocument(SnapshotVersion.NONE);
141141
}
142142
documentMap = documentMap.insert(document.getKey(), document);
143143
}

firebase-firestore/src/main/java/com/google/firebase/firestore/model/mutation/PatchMutation.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public void applyToRemoteDocument(MutableDocument document, MutationResult mutat
111111
// Since the mutation was not rejected, we know that the precondition matched on the backend.
112112
// We therefore must not have the expected version of the document in our cache and return an
113113
// UnknownDocument with the known updateTime.
114-
document.setUnknownDocument(mutationResult.getVersion());
114+
document.convertToUnknownDocument(mutationResult.getVersion());
115115
return;
116116
}
117117

@@ -121,8 +121,8 @@ public void applyToRemoteDocument(MutableDocument document, MutationResult mutat
121121
value.setAll(getPatch());
122122
value.setAll(transformResults);
123123
document
124-
.setFoundDocument(mutationResult.getVersion(), document.getData())
125-
.setCommittedMutations();
124+
.convertToFoundDocument(mutationResult.getVersion(), document.getData())
125+
.setHasCommittedMutations();
126126
}
127127

128128
@Override
@@ -138,8 +138,8 @@ public void applyToLocalView(MutableDocument document, Timestamp localWriteTime)
138138
value.setAll(getPatch());
139139
value.setAll(transformResults);
140140
document
141-
.setFoundDocument(getPostMutationVersion(document), document.getData())
142-
.setLocalMutations();
141+
.convertToFoundDocument(getPostMutationVersion(document), document.getData())
142+
.setHasLocalMutations();
143143
}
144144

145145
private Map<FieldPath, Value> getPatch() {

firebase-firestore/src/main/java/com/google/firebase/firestore/model/mutation/SetMutation.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ public void applyToRemoteDocument(MutableDocument document, MutationResult mutat
8080
Map<FieldPath, Value> transformResults =
8181
serverTransformResults(document, mutationResult.getTransformResults());
8282
newData.setAll(transformResults);
83-
document.setFoundDocument(mutationResult.getVersion(), newData).setCommittedMutations();
83+
document
84+
.convertToFoundDocument(mutationResult.getVersion(), newData)
85+
.setHasCommittedMutations();
8486
}
8587

8688
@Override
@@ -94,7 +96,9 @@ public void applyToLocalView(MutableDocument document, Timestamp localWriteTime)
9496
Map<FieldPath, Value> transformResults = localTransformResults(localWriteTime, document);
9597
ObjectValue localValue = value.clone();
9698
localValue.setAll(transformResults);
97-
document.setFoundDocument(getPostMutationVersion(document), localValue).setLocalMutations();
99+
document
100+
.convertToFoundDocument(getPostMutationVersion(document), localValue)
101+
.setHasLocalMutations();
98102
}
99103

100104
/** Returns the object value to use when setting the document. */

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ private MutableDocument decodeFoundDocument(BatchGetDocumentsResponse response)
246246
SnapshotVersion version = decodeVersion(response.getFound().getUpdateTime());
247247
hardAssert(
248248
!version.equals(SnapshotVersion.NONE), "Got a document response with no snapshot version");
249-
return new MutableDocument(key).setFoundDocument(version, value);
249+
return new MutableDocument(key).convertToFoundDocument(version, value);
250250
}
251251

252252
private MutableDocument decodeMissingDocument(BatchGetDocumentsResponse response) {
@@ -258,7 +258,7 @@ private MutableDocument decodeMissingDocument(BatchGetDocumentsResponse response
258258
hardAssert(
259259
!version.equals(SnapshotVersion.NONE),
260260
"Got a no document response with no snapshot version");
261-
return new MutableDocument(key).setNoDocument(version);
261+
return new MutableDocument(key).convertToNoDocument(version);
262262
}
263263

264264
// Mutations
@@ -874,7 +874,7 @@ public WatchChange decodeWatchChange(ListenResponse protoChange) {
874874
hardAssert(
875875
!version.equals(SnapshotVersion.NONE), "Got a document change without an update time");
876876
ObjectValue data = ObjectValue.fromMap(docChange.getDocument().getFieldsMap());
877-
MutableDocument document = new MutableDocument(key).setFoundDocument(version, data);
877+
MutableDocument document = new MutableDocument(key).convertToFoundDocument(version, data);
878878
watchChange = new WatchChange.DocumentChange(added, removed, document.getKey(), document);
879879
break;
880880
case DOCUMENT_DELETE:
@@ -883,7 +883,7 @@ public WatchChange decodeWatchChange(ListenResponse protoChange) {
883883
key = decodeKey(docDelete.getDocument());
884884
// Note that version might be unset in which case we use SnapshotVersion.NONE
885885
version = decodeVersion(docDelete.getReadTime());
886-
MutableDocument doc = new MutableDocument(key).setNoDocument(version);
886+
MutableDocument doc = new MutableDocument(key).convertToNoDocument(version);
887887
watchChange =
888888
new WatchChange.DocumentChange(Collections.emptyList(), removed, doc.getKey(), doc);
889889
break;

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,8 @@ public void handleExistenceFilter(ExistenceFilterWatchChange watchChange) {
189189
// deleted document there might be another query that will raise this document as part of
190190
// a snapshot until it is resolved, essentially exposing inconsistency between queries.
191191
DocumentKey key = DocumentKey.fromPath(target.getPath());
192-
MutableDocument result = new MutableDocument(key).setNoDocument(SnapshotVersion.NONE);
192+
MutableDocument result =
193+
new MutableDocument(key).convertToNoDocument(SnapshotVersion.NONE);
193194
removeDocumentFromTarget(targetId, key, result);
194195
} else {
195196
hardAssert(
@@ -227,7 +228,7 @@ public RemoteEvent createRemoteEvent(SnapshotVersion snapshotVersion) {
227228
// limboDocumentRefs.
228229
DocumentKey key = DocumentKey.fromPath(targetData.getTarget().getPath());
229230
if (pendingDocumentUpdates.get(key) == null && !targetContainsDocument(targetId, key)) {
230-
MutableDocument result = new MutableDocument(key).setNoDocument(snapshotVersion);
231+
MutableDocument result = new MutableDocument(key).convertToNoDocument(snapshotVersion);
231232
removeDocumentFromTarget(targetId, key, result);
232233
}
233234
}

firebase-firestore/src/roboUtil/java/com/google/firebase/firestore/TestUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public static QuerySnapshot querySnapshot(
9090
String docKey = path + "/" + pair.getKey();
9191
MutableDocument doc = doc(docKey, 1L, pair.getValue());
9292
if (hasPendingWrites) {
93-
doc.setCommittedMutations();
93+
doc.setHasCommittedMutations();
9494
mutatedKeys = mutatedKeys.insert(key(docKey));
9595
}
9696
oldDocuments = oldDocuments.add(doc);
@@ -101,7 +101,7 @@ public static QuerySnapshot querySnapshot(
101101
String docKey = path + "/" + pair.getKey();
102102
MutableDocument docToAdd = doc(docKey, 1L, pair.getValue());
103103
if (hasPendingWrites) {
104-
docToAdd.setCommittedMutations();
104+
docToAdd.setHasCommittedMutations();
105105
mutatedKeys = mutatedKeys.insert(key(docKey));
106106
}
107107
newDocuments = newDocuments.add(docToAdd);

firebase-firestore/src/test/java/com/google/firebase/firestore/QuerySnapshotTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public void testToObjects() {
101101

102102
@Test
103103
public void testIncludeMetadataChanges() {
104-
MutableDocument doc1Old = doc("foo/bar", 1, wrapObject("a", "b")).setLocalMutations();
104+
MutableDocument doc1Old = doc("foo/bar", 1, wrapObject("a", "b")).setHasLocalMutations();
105105
MutableDocument doc1New = doc("foo/bar", 1, wrapObject("a", "b"));
106106

107107
MutableDocument doc2Old = doc("foo/baz", 1, wrapObject("a", "b"));

firebase-firestore/src/test/java/com/google/firebase/firestore/bundle/BundleSerializerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -692,7 +692,7 @@ private void assertDecodesValue(String json, Value proto) throws JSONException {
692692
BundleDocument expectedDocument =
693693
new BundleDocument(
694694
new MutableDocument(DocumentKey.fromName(TEST_DOCUMENT))
695-
.setFoundDocument(
695+
.convertToFoundDocument(
696696
new SnapshotVersion(new com.google.firebase.Timestamp(1577836802, 2)),
697697
new ObjectValue(
698698
Value.newBuilder()

0 commit comments

Comments
 (0)