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 d49082a..6165277 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 @@ -68,6 +68,7 @@ fun PlacementGuideView(appState: AppState) { var scanCount by remember { mutableIntStateOf(0) } var isLocked by remember { mutableStateOf(false) } var lastChannelData by remember { mutableStateOf>(emptyList()) } + var lastWallResults by remember { mutableStateOf?>>(List(6) { null }) } var debounceCount by remember { mutableIntStateOf(0) } var lastGuidePhase by remember { mutableStateOf(PlacementPhase.VERTICAL) } var lastHintChangeMs by remember { mutableStateOf(0L) } @@ -374,11 +375,20 @@ fun PlacementGuideView(appState: AppState) { verticalArrangement = Arrangement.spacedBy(6.dp) ) { Text("Echo Waveforms", fontSize = 13.sp, fontWeight = FontWeight.Bold, color = MlPrimary) + val graphMethod = com.example.medilightv2android.managers.GreenZoneConstants.detectionMethod + val graphAnalyzerA = com.example.medilightv2android.managers.PiezoEchoAnalyzerA.shared for (ch in 0 until 6) { val chData = lastChannelData.find { it.channel == ch } val detected = if (ch < channelDetected.size) channelDetected[ch] else false - val showWalls = if (chData != null && chData.buffer.isNotEmpty()) { - analyzer.analyzeChannel(chData.buffer, ch).result + // 그래프 벽 표시: lastWallResults에서 가져옴 (선택된 Method 결과와 동일) + val wallPair = if (ch < lastWallResults.size) lastWallResults[ch] else null + val showWalls = if (wallPair != null) { + com.example.medilightv2android.managers.LowEchoResult( + ant = wallPair.first, post = wallPair.second, + lowStart = wallPair.first, lowEnd = wallPair.second, + lowMean = 0.0, urineLen = wallPair.second - wallPair.first, + score = 0.0, innerPeaks = emptyList() + ) } else null Column(verticalArrangement = Arrangement.spacedBy(2.dp)) { Row(verticalAlignment = Alignment.CenterVertically) { @@ -499,6 +509,7 @@ fun PlacementGuideView(appState: AppState) { channelUrineLen[i] = urineLens[i] } lastChannelData = channels + lastWallResults = allWalls.toList() // Detachment check (미부착 감지) val buffers = channels.sortedBy { it.channel }.map { it.buffer }