diff --git a/app/src/main/java/com/medithings/vesiscan/ui/views/monitoring/PlacementGuideView.kt b/app/src/main/java/com/medithings/vesiscan/ui/views/monitoring/PlacementGuideView.kt index 04f4810..0268ca5 100644 --- a/app/src/main/java/com/medithings/vesiscan/ui/views/monitoring/PlacementGuideView.kt +++ b/app/src/main/java/com/medithings/vesiscan/ui/views/monitoring/PlacementGuideView.kt @@ -960,11 +960,22 @@ fun PlacementGuideView(appState: AppState) { st.action == com.medithings.vesiscan.managers.AlignAction.STOP -> 60 // CH3_STABILIZE 유지 중 else -> 40 } + // 2026-07-07: GREEN 진입 후 5초 hold — 순간 flick 으로 GREEN 이 즉시 + // 풀려 "측정 시작" 버튼이 disable 되는 UX 문제 방지. V1 은 이미 + // greenHoldMs=7000 로 동일 로직 있으나 V2 만 빠져 있었음. + val v2GreenHoldMs = 5000L + val nowMs = System.currentTimeMillis() + val v2GreenHeld = isLocked && (nowMs - greenLockedAtMs < v2GreenHoldMs) if (finalStop) { - if (!isLocked) greenLockedAtMs = System.currentTimeMillis() + if (!isLocked) greenLockedAtMs = nowMs isLocked = true placementPhase = PlacementPhase.GREEN if (lastLedMode != 6) { bleManager.sendLedMode(6); lastLedMode = 6 } + } else if (v2GreenHeld) { + // Hold 중 — isLocked / GREEN LED 유지, 단 hint 는 갱신 위에서 이미 반영. + // placementScore 만 GREEN 표시 유지. + placementScore = 100 + placementPhase = PlacementPhase.GREEN } else { isLocked = false if (lastLedMode != 5) { bleManager.sendLedMode(5); lastLedMode = 5 }