Setup: Auto Scan Interval을 별도 화면(AUTO_SCAN_SETUP)으로 분리

사내 피드백: PiezoPersonalization 한 화면에 카드 3개를 모은 게 아니라
MaxCapacity 다음 단계로 Auto Scan Interval 화면을 독립적으로 띄우길 원함.

흐름 변경:
  before: DeviceScan → PiezoPersonalization (MaxCapacity + Catheter + AutoScan) → Placement
  after:  DeviceScan → PiezoPersonalization (MaxCapacity + Catheter) → AutoScanSetup → Placement

변경:
  - PiezoPersonalizationView 원복: 2카드 / verticalScroll 제거 / spacing 64dp 중앙 정렬
  - AutoScanIntervalSetupView 신규 — Bladdy hero + 큰 카드 + Continue 버튼
  - AppScreen.AUTO_SCAN_SETUP enum 추가
  - personalizationComplete() → AUTO_SCAN_SETUP으로 이동
  - autoScanSetupComplete() 신설 — PlacementGuide로 진행, piezoSettings persist
  - backFromPlacementGuide() — setup 흐름이면 AUTO_SCAN_SETUP으로 돌아감
  - MainActivity 라우팅 + Back handler 추가 (AUTO_SCAN_SETUP → PiezoPersonalization)

PiezoMonitoring의 in-monitoring settings 슬라이더는 그대로 유지 — 측정 중에도
같은 PiezoSettings.autoScanIntervalMs 값을 조정 가능.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-04 16:15:39 +09:00
parent 9b090a4c8e
commit 2ae5eecb20
4 changed files with 190 additions and 60 deletions
@@ -32,6 +32,7 @@ import com.example.medilightv2android.ui.views.monitoring.VivamyoMonitoringView
import com.example.medilightv2android.ui.views.monitoring.UrineCameraScreen
import com.example.medilightv2android.ui.views.monitoring.VoidingDiaryView
import com.example.medilightv2android.ui.views.onboarding.OnboardingView
import com.example.medilightv2android.ui.views.personalization.AutoScanIntervalSetupView
import com.example.medilightv2android.ui.views.personalization.PiezoPersonalizationView
import com.example.medilightv2android.ui.views.pin.PinMode
import com.example.medilightv2android.ui.views.pin.PinView
@@ -103,6 +104,7 @@ fun MedilightApp(modifier: Modifier = Modifier) {
AppScreen.CLINICAL_HOME
else AppScreen.HOME
AppScreen.PIEZO_PERSONALIZATION -> appState.currentScreen = AppScreen.DEVICE_SCAN
AppScreen.AUTO_SCAN_SETUP -> appState.currentScreen = AppScreen.PIEZO_PERSONALIZATION
// 임상 모드 측정 중이면 endMeasurement → ClinicalHome 복귀
AppScreen.PLACEMENT_GUIDE ->
if (com.example.medilightv2android.services.ClinicalSessionStore.currentSession != null) {
@@ -152,6 +154,7 @@ fun MedilightApp(modifier: Modifier = Modifier) {
AppScreen.DEVICE_SCAN -> DeviceScanView(appState)
AppScreen.NIRS_CALIBRATION -> CalibrationView(appState)
AppScreen.PIEZO_PERSONALIZATION -> PiezoPersonalizationView(appState)
AppScreen.AUTO_SCAN_SETUP -> AutoScanIntervalSetupView(appState)
AppScreen.PLACEMENT_GUIDE -> PlacementGuideView(appState)
AppScreen.PIN_SETUP -> PinView(appState, PinMode.SETUP, context)
AppScreen.PIN_ENTRY -> PinView(appState, PinMode.ENTER, context)