У меня есть зарегистрированный слушатель, который прослушивает изменения в запросе.Когда документ удален / удален, он должен проверить, было ли изменение локальным или нет.Если изменение является локальным, отображается сообщение.Если он не был локальным, объект просто удаляется.
Проблема в том, что hasPendingWrites()
возвращает false
при включении в слушателе.Это почему?Согласно документации Firestore, это должно быть true
в первый раз, так как слушатель немедленно запускается при изменении локального кэша.
Упрощенный код AsyncArrayHandler, который вызывается, когда слушатель активирован:
for (DocumentChange documentChange : queryDocumentSnapshots.getDocumentChanges())
{
changeIsMadeLocal = documentChange.getDocument().getMetadata().hasPendingWrites();
switch (documentChange.getType())
{
case REMOVED:
if (changeIsMadeLocal)
{
//do stuff here
}
break;
}
}