Я создаю модуль чата, используя базу данных Firestore. Ниже приведен код моего слушателя, который прослушивает новые сообщения в:
mDb.collection("Users_Collection").document(mAuth.getUid()).collection("Recipients")
.document(psychichObj.getUid()).collection("Messages").orderBy("time").limit(30)
.addSnapshotListener(MetadataChanges.INCLUDE, new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
if (e==null){
for (DocumentChange dc:queryDocumentSnapshots.getDocumentChanges()){
switch (dc.getType()){
case ADDED:
Log.d("chatevents", "onEvent:Added ");
messgaesDataClass msg = dc.getDocument().toObject(messgaesDataClass.class);
messages.add(msg);
chatAdapter.notifyDataSetChanged();
messagesRecycler.smoothScrollToPosition(messages.size());
break;
case REMOVED:
Log.d("chatevents", "onEvent:Removed ");
case MODIFIED:
Log.d("chatevents", "onEvent:Modiefied ");
}
}
}
}
});
Когда я отправляю сообщение, чем хочу узнать, как я могу прослушать объект msg, который находится в локальном кэше или чьи метаданные находятся в состоянии ожидания и еще не отправлены на сервер?