fix(alignment): clinical session Back/Skip 도 endMeasurement (저장)

이전: Back/Skip → discardAndDeleteFolder (저장 X)
변경: Back/Skip → endMeasurement (Complete 와 동일) — measurement.json + labdb 업로드
→ 사용자가 측정 도중 화면 떠나도 그때까지 누적된 baseline + 4-phase frame 보존

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-25 18:12:54 +09:00
parent 026076aa11
commit 37d3d0d84a
@@ -250,11 +250,12 @@ fun PlacementGuideView(appState: AppState) {
) { ) {
IconButton(onClick = { IconButton(onClick = {
isContinuousMode = false isContinuousMode = false
// Clinical alignment session 진입한 경우 — abort 후 Clinical Home 으로. // Clinical alignment session 진입한 경우 — 저장 후 Clinical Home 으로.
// (PiezoMonitoring / Personalization 으로 떨어지지 않게) // (PiezoMonitoring / Personalization 으로 떨어지지 않게)
// Back / Skip 도 endMeasurement → measurement.json + labdb 자동 업로드 (Complete 와 동일).
val curSess = com.example.medilightv2android.services.ClinicalSessionStore.currentSession val curSess = com.example.medilightv2android.services.ClinicalSessionStore.currentSession
if (curSess != null && curSess.mode == com.example.medilightv2android.models.SessionMode.ALIGNMENT) { if (curSess != null && curSess.mode == com.example.medilightv2android.models.SessionMode.ALIGNMENT) {
com.example.medilightv2android.services.ClinicalSessionStore.discardAndDeleteFolder() com.example.medilightv2android.services.ClinicalSessionStore.endMeasurement(context)
com.example.medilightv2android.services.ClinicalSessionStore.inClinicalFlow = true com.example.medilightv2android.services.ClinicalSessionStore.inClinicalFlow = true
appState.currentScreen = AppScreen.CLINICAL_HOME appState.currentScreen = AppScreen.CLINICAL_HOME
} else { } else {
@@ -1200,11 +1201,11 @@ fun PlacementGuideView(appState: AppState) {
Spacer(modifier = Modifier.height(8.dp)) Spacer(modifier = Modifier.height(8.dp))
TextButton(onClick = { TextButton(onClick = {
isContinuousMode = false isContinuousMode = false
// Clinical alignment session 진입 → abort + Clinical Home 으로 // Clinical alignment session 진입 → 저장 후 Clinical Home 으로
// (Skip 은 저장 의도 X) // Back / Complete / Skip 모두 endMeasurement → measurement.json + labdb 업로드.
val curSess = com.example.medilightv2android.services.ClinicalSessionStore.currentSession val curSess = com.example.medilightv2android.services.ClinicalSessionStore.currentSession
if (curSess != null && curSess.mode == com.example.medilightv2android.models.SessionMode.ALIGNMENT) { if (curSess != null && curSess.mode == com.example.medilightv2android.models.SessionMode.ALIGNMENT) {
com.example.medilightv2android.services.ClinicalSessionStore.discardAndDeleteFolder() com.example.medilightv2android.services.ClinicalSessionStore.endMeasurement(context)
com.example.medilightv2android.services.ClinicalSessionStore.inClinicalFlow = true com.example.medilightv2android.services.ClinicalSessionStore.inClinicalFlow = true
appState.currentScreen = AppScreen.CLINICAL_HOME appState.currentScreen = AppScreen.CLINICAL_HOME
} else { } else {