Я пытаюсь загрузить некоторые объекты викторины из моей базы данных.Следующая функция вызывается из onCreate определенного действия.
private void downloadQuizzesFromCloud(){
String user_id = FirebaseAuth.getInstance().getCurrentUser().getUid();
final FirebaseFirestore db = FirebaseFirestore.getInstance();
String user_quizzes_path = "users/".concat(user_id).concat("/quizzes");
Query userQuizzes = db.collection(user_quizzes_path);
userQuizzes.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
quizzes.clear();
for (QueryDocumentSnapshot document : task.getResult()) {
Quiz quizDownloaded = getQuizFromCloud(document.getId());
quizzes.add(quizDownloaded);
}
Toast.makeText(QuizzesActivity.this,"downloaded to list ".concat(String.valueOf(quizzes.size()).concat(" quizzes")), Toast.LENGTH_SHORT).show();
//TODO put in recycle adapter
} else { }
}
});
}
(user_quizzes_path содержит правильный путь к коллекции объектов Quiz, хранящихся в облаке)
Я отладил эту функцию и нашелчто после команды:
userQuizzes.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>()
Функция завершает выполнение, то есть случаи onComplete не проверяются и не выполняются, и весь этот код просто пропускается.
Я пытался найти этопо документации firebase но ничего не нашел.Почему это происходит и как я могу это исправить?
Буду признателен за помощь здесь, спасибо!