Salut à tous !
Dans le cadre d'un projet, l'utilisateur peut ou non avoir un avatar. J'essaie de le récupérer. Mais du coup le fichier peut réellement ne pas exister.
Le code qui permet de récupérer l'image est le suivant.
private void fillAvatarField() {
UserStorage user_avatar_storage = new UserStorage();
user_avatar_storage.getReferenceToAvatar(UserDatabaseModel.SIGNED_IN_USER_UID).getBytes(DownloadImageTask.MAX_DOWNLOAD_SIZE_BYTES).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
System.out.println(e.getMessage());
}
}).addOnSuccessListener(new OnSuccessListener<byte[]>() {
@Override
public void onSuccess(byte[] bytes) {
image_view_edit_account_dialog_avatar.setImageBitmap(BitmapFactory.decodeByteArray(bytes, 0, bytes.length));
}
});
}
Dans le cas où le fichier est trouvé, je n'ai rien à redire : c'est tout bon.
Dans le cas où le fichier n'est pas trouvé (car inexistant, l'utilisateur n'ayant pas encore choisi d'avatar), le `OnFailureListener` exécute bien sa méthode `OnFailure()`.
Où est le problème alors
=> C'est juste qu'en plus de mon `sout(e.getMessage())` présent dans le `onFailure()`, une exception s'affiche également dans la console d'exécution. J'aimerais que ce ne soit pas le cas. Comment faire ?
Voici l'exception affichée dans mon terminal :
E/StorageException: StorageException has occurred.
Object does not exist at location.
Code: -13010 HttpResult: 404
E/StorageException: Could not open resulting stream.
java.io.IOException: Could not open resulting stream. [...]