Добрый день. Помогите разобраться. Нужно положить в FirebaseStorage изображение и после этого положить url на это изображение в бд. Написал метод:
public void updateProfileImage(Uri resultUri) {
storage.getReference().child(StorageConstants.PROFILE_IMAGES_DIR_NAME).child(getCurrentFirebaseUser().getUid()+".jpg").putFile(resultUri)
.addOnCompleteListener(task -> {
if (task.isSuccessful()){
db.collection(UserCollection.COLLECTION_NAME).document(getCurrentFirebaseUser().getUid())
.update(UserCollection.UserDocument.PROFILE_FIELD, task.getResult().getStorage().getDownloadUrl())
.addOnSuccessListener(aVoid -> {
status.postValue(Status.IMAGE_UPDATED);
updateUser();
})
.addOnFailureListener(e -> status.postValue(Status.SOMETHING_WRONG));
}else{
status.postValue(Status.SOMETHING_WRONG);
}
});
}
Получаю иксепшн Caused by: java.lang.IllegalStateException: Task is not yet complete, когда пытаюсь получить url и положить его в документ.
В чем проблема никак не пойму. Заранее благодарен за помощь.