Почему метод для получения данных с коллекции ведет себя неправильно?
public List<Note> loadNotes(){
database.collection(NoteCollection.COLLECTION_NAME)
.get()
.addOnSuccessListener(queryDocumentSnapshots -> {
notes.addAll(queryDocumentSnapshots.toObjects(Note.class));
Log.d("loadingNote", String.valueOf(notes.size()));
})
.addOnFailureListener(e -> {
Log.d("loadingNote", e.toString());
});
Log.d("loadingNote", String.valueOf(notes.size()));
return notes;
}
Дело в том, что addOnSuccessListener отрабатывает правильно. То есть в лист добавляется два элемента. Но перед return проверяю лист и оказывается, что в нем вообще нету элементов. Хотя они же добавились в addOnSuccessListener. Почему так происходит и как решить эту проблему?
Вот логи:
2019-02-26 07:42:04.194 12548-12548/com.rafalsky.firebaselesson1 D/loadingNote: 0
2019-02-26 07:42:06.452 12548-12548/com.rafalsky.firebaselesson1 D/loadingNote: 2
Заранее благодарен за помощь.