Avvisa quando la fotocamera non si apre e passa alla galleria
Se lo scatto falliva, AttachedService restituiva null come per un annullamento: il rilevatore toccava "Aggiungi una foto" e non succedeva nulla. - AttachedService: espone IsCameraAvailable (IsCaptureSupported) e, dopo aver registrato l'errore e averlo inviato a Sentry, lo rilancia invece di restituire null. - ModalFormScheda: dalla scheda il pulsante apre solo la fotocamera, quindi senza fotocamera non c'era alternativa. Ora avvisa e apre la galleria; se lo scatto fallisce mostra un errore. - ModalAddAttached: stessa gestione dell'errore di scatto. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
fd0c218ab5
commit
7e1492d118
4 files changed
+50
-6
No files matched your search
@@ -40,7 +40,17 @@
|
||||
|
||||
private async Task OnCamera()
|
||||
{
|
||||
var selectImageFromCamera = await AttachedService.SelectImageFromCamera();
|
||||
AttachedDto? selectImageFromCamera;
|
||||
try
|
||||
{
|
||||
selectImageFromCamera = await AttachedService.SelectImageFromCamera();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Snackbar.Clear();
|
||||
Snackbar.Add("Non è stato possibile scattare la foto, riprova", Severity.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
if (selectImageFromCamera != null)
|
||||
{
|
||||
|
||||
@@ -756,10 +756,36 @@
|
||||
|
||||
private async Task OpenAddAttached()
|
||||
{
|
||||
var selectImageFromCamera = await AttachedService.SelectImageFromCamera();
|
||||
if (selectImageFromCamera == null) return;
|
||||
|
||||
var attachedList = new List<AttachedDto> { selectImageFromCamera };
|
||||
List<AttachedDto>? attachedList;
|
||||
|
||||
if (AttachedService.IsCameraAvailable)
|
||||
{
|
||||
AttachedDto? selectImageFromCamera;
|
||||
try
|
||||
{
|
||||
selectImageFromCamera = await AttachedService.SelectImageFromCamera();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// Gia' registrato e inviato a Sentry dal servizio
|
||||
Snackbar.Clear();
|
||||
Snackbar.Add("Non è stato possibile scattare la foto, riprova", Severity.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
if (selectImageFromCamera == null) return;
|
||||
attachedList = [selectImageFromCamera];
|
||||
}
|
||||
else
|
||||
{
|
||||
// Senza fotocamera "Aggiungi una foto" non avrebbe altra strada:
|
||||
// si passa alla galleria invece di lasciare il rilevatore fermo.
|
||||
Snackbar.Clear();
|
||||
Snackbar.Add("Fotocamera non disponibile: scegli la foto dalla galleria", Severity.Warning);
|
||||
|
||||
attachedList = await AttachedService.SelectImageFromGallery();
|
||||
if (attachedList is null || attachedList.Count == 0) return;
|
||||
}
|
||||
|
||||
OnLoading = true;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
|
||||
Reference in new issue
Block a user