I having trouble in using the firestore query "whereEqualTo" . i am trying to get the images from a collection called "Participants" but when the documents does not exist it should use the else statement and move to next activity where the document is updated. But when querying the document from collection in onComplete listener i.e Task the document does not exit but the code is running into if(task.isSuccessful){} and not using the else statement. my code: Can i anyone help me with this thanks
//***********BattlePost1**************
mFirestore.collection("OpenBattle")
.document(battlesPost_creator)
.collection("BattlePost")
.document(battlePost_id)
.collection("Participants")
.document(UserId)
.collection("Posts").whereEqualTo("battle_post_count", 1)
.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()){
for (QueryDocumentSnapshot document : task.getResult()){
Glide.with(mContext).load(document.get("imageuri")).into(battle_creator_postImage1);
battle_points1.setText(String.valueOf(document.get("numberOfLikesPoints")) + "Points");
}
}else {
Log.d(TAG, "onComplete: Error getting the first document");
}
}
});
//**************BattlePost2***************
mFirestore.collection("OpenBattle")
.document(battlesPost_creator)
.collection("BattlePost")
.document(battlePost_id)
.collection("Participants")
.document(UserId)
.collection("Posts")
.whereEqualTo("battle_post_count", 2)
.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Log.d(TAG, document.getId() + " => " + document.getData());
Glide.with(mContext).load(document.get("imageuri")).into(battle_creator_postImage2);
battle_points2.setText(String.valueOf(document.get("numberOfLikesPoints")) + "Points");
}
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
//Can create a 2nd post
Glide.with(mContext).load(R.drawable.ic_add_circle_black_24dp).into(battle_creator_postImage2);
battle_creator_postImage2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(mContext, TemplateActivity.class);
intent.putExtra(getString(R.string.battle_add_post),battlePost_id);
intent.putExtra("BattlePost_Pub", battlesPost_creator);
intent.putExtra("Battle_contest", 2);
intent.putExtra("Battle_tittle", battle_tittle);
intent.putExtra("Battle_timeEnd", battle_timeEnd);
startActivity(intent);
}
});
}
}
});

Even if the document is not found,
task.isSuccesful()will return true because it has completed the task of querying and found that no such document exists. So, instead, you should check if the document exists. Have a look at this from the documentation-You will have to write another
elsestatement and put your code for updating the document in it.