From 37d3d0d84a936f13ebdb361b4375b30528023e0e Mon Sep 17 00:00:00 2001 From: jjangddu Date: Thu, 25 Jun 2026 18:12:54 +0900 Subject: [PATCH] =?UTF-8?q?fix(alignment):=20clinical=20session=20Back/Ski?= =?UTF-8?q?p=20=EB=8F=84=20endMeasurement=20(=EC=A0=80=EC=9E=A5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 이전: Back/Skip → discardAndDeleteFolder (저장 X) 변경: Back/Skip → endMeasurement (Complete 와 동일) — measurement.json + labdb 업로드 → 사용자가 측정 도중 화면 떠나도 그때까지 누적된 baseline + 4-phase frame 보존 Co-Authored-By: Claude Opus 4.7 --- .../ui/views/monitoring/PlacementGuideView.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt index 867afc3..63f8993 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt @@ -250,11 +250,12 @@ fun PlacementGuideView(appState: AppState) { ) { IconButton(onClick = { isContinuousMode = false - // Clinical alignment session 진입한 경우 — abort 후 Clinical Home 으로. + // Clinical alignment session 진입한 경우 — 저장 후 Clinical Home 으로. // (PiezoMonitoring / Personalization 으로 떨어지지 않게) + // Back / Skip 도 endMeasurement → measurement.json + labdb 자동 업로드 (Complete 와 동일). val curSess = com.example.medilightv2android.services.ClinicalSessionStore.currentSession 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 appState.currentScreen = AppScreen.CLINICAL_HOME } else { @@ -1200,11 +1201,11 @@ fun PlacementGuideView(appState: AppState) { Spacer(modifier = Modifier.height(8.dp)) TextButton(onClick = { isContinuousMode = false - // Clinical alignment session 진입 → abort + Clinical Home 으로 - // (Skip 은 저장 의도 X) + // Clinical alignment session 진입 → 저장 후 Clinical Home 으로 + // Back / Complete / Skip 모두 endMeasurement → measurement.json + labdb 업로드. val curSess = com.example.medilightv2android.services.ClinicalSessionStore.currentSession 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 appState.currentScreen = AppScreen.CLINICAL_HOME } else {