# Sessione 2026-01-08 - Fix Camera Android

## Obiettivi della sessione
- [x] Fix cattura foto su Android (readyForCapture rimaneva false)
- [x] Fix preview foto dopo cattura
- [x] Rimuovere bottone paziente duplicato dalla barra superiore
- [x] Allineare nuvoletta refresh nella barra
- [ ] Build APK arm64 per telefono reale
- [ ] Pensare a UI tipo Google Foto per album

## Lavoro svolto

### 1. Fix Camera - Reset con Timer
**Problema**: `readyForCapture` diventava `false` dopo il primo tentativo di cattura e non tornava mai `true`.

**Soluzione**: Reset completo della camera quando si apre l'overlay:
- `inlineCamera.stop()` prima di tutto
- Timer 200ms per permettere reset completo
- Poi `inlineCamera.start()`

**File**: `DocumentAlbum.qml` - funzione `openInlineCamera()` + Timer `cameraStartTimer`

### 2. Fix Preview dopo cattura
**Problema**: `onImageCaptured` non veniva chiamato correttamente su Android, quindi la preview non appariva.

**Soluzione**: Modificato `onImageSaved` per mostrare la preview se `onImageCaptured` non ha funzionato:
```qml
onImageSaved: function(requestId, path) {
    captureStatusText.text = "Foto salvata!"
    inlineCameraOverlay.lastSavedImagePath = path
    if (inlineCameraViewContainer.visible) {
        inlinePhotoPreview.source = "file://" + path
        inlineCameraViewContainer.visible = false
        inlinePhotoPreviewContainer.visible = true
    }
}
```

### 3. Rimozione bottone paziente duplicato
**Problema**: Bottone paziente in alto a destra del back era duplicato (già presente in basso).

**Soluzione**: Impostato `visible: false` su `patientIcon` in `DocumentManagerContainer.qml` (linea 203)

### 4. Allineamento nuvoletta refresh
**Problema**: La nuvoletta refresh era disallineata perché la formula width includeva ancora `patientIcon.width`.

**Soluzione**: Rimosso `patientIcon.width` dalla formula width del `doctorSelectorContainer` (linea 243)

## File modificati

| File | Modifiche |
|------|-----------|
| DocumentAlbum.qml | openInlineCamera() con reset camera, Timer cameraStartTimer, onImageSaved con preview fallback |
| DocumentManagerContainer.qml | patientIcon visible: false, rimosso patientIcon.width dalla formula |

## Test effettuati su emulatore
- [x] Camera si apre con `Ready: true`
- [x] Cattura foto funziona
- [x] Preview appare con bottoni conferma/annulla
- [x] Conferma aggiunge foto all'album
- [x] Bottone paziente rimosso dalla barra superiore
- [x] Nuvoletta refresh allineata

## TODO prossima sessione
- [ ] Test su telefono reale (arm64)
- [ ] Test rotazione schermo con camera aperta
- [ ] Implementare UI tipo Google Foto per album
- [ ] Sincronizzare codice su repository

## Note per UI Google Foto (da pensare)
Idee per migliorare la visualizzazione album:
1. Grid di thumbnail con date come separatori
2. Pinch-to-zoom per cambiare dimensione griglia
3. Swipe per navigare tra foto
4. Tag come filtri/chips in alto
5. Selezione multipla con long-press

---

*Sessione: 2026-01-08*
