I am getting the error in my onPause()
method saying:
Cannot resolve method 'removeEventListener(com.google.firebase.database.ValueEventListener)'
I guess I might have done some mistakes while trying to convert this tutorial (where the app displays whether the receiver of the message has seen the message or not) from Firebase Realtime Database to Firebase Firestore.
Declaration of the ValueEventListener
takes place before the onCreate() method
ValueEventListener seenListener;
seenMessage() method
private void seenMessage(final String recipientId){
final CollectionReference reference = FirebaseFirestore.getInstance().collection("chats");
seenListener = (ValueEventListener) reference.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot documentSnapshots, @Nullable FirebaseFirestoreException e) {
if(documentSnapshots!=null){
for(QueryDocumentSnapshot queryDocumentSnapshots : documentSnapshots){
Chat chat = queryDocumentSnapshots.toObject(Chat.class);
if (chat.getReceiver().equals(userId) && chat.getSender().equals(recipientId)){
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("isseen", true);
reference.add(hashMap);
}
}
}
}
});
}
onPause() method
@Override
protected void onPause() {
super.onPause();
FirebaseFirestore.getInstance().collection("chats").removeEventListener(seenListener);
}