diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/connection/DeviceScanView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/connection/DeviceScanView.kt index 7b1c101..2985bfe 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/connection/DeviceScanView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/connection/DeviceScanView.kt @@ -200,11 +200,11 @@ fun DeviceScanView(appState: AppState) { // Device list if (filteredDevices.isEmpty() && isScanning) { Column( - modifier = Modifier.weight(1f), + modifier = Modifier.weight(1f).fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) { - BladdyIdleRiveView(size = 140.dp) + BladdyIdleRiveView(size = 180.dp) Spacer(modifier = Modifier.height(16.dp)) Text("Scanning...", color = MlSecondaryText) } diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt index 1cecf87..d8225a6 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt @@ -795,10 +795,17 @@ fun PiezoMonitoringView(appState: AppState) { } } - // Spot (single measurement) + // Spot (single measurement, 1.5초 쿨다운) + var spotCooldown by remember { mutableStateOf(false) } Button( - onClick = { if (!isMeasuring && !isAutoMeasuring) measure() }, - enabled = !isMeasuring && !isAutoMeasuring, + onClick = { + if (!isMeasuring && !isAutoMeasuring && !spotCooldown) { + measure() + spotCooldown = true + handler.postDelayed({ spotCooldown = false }, 1500) + } + }, + enabled = !isMeasuring && !isAutoMeasuring && !spotCooldown, modifier = Modifier.weight(1f).height(56.dp), shape = RoundedCornerShape(14.dp), colors = ButtonDefaults.buttonColors( @@ -1078,7 +1085,14 @@ private fun ChannelPanel( } } else { // Zone indicator - val analyses = lastMultiChannelResult.map { analyzer.analyzeChannel(it.buffer, it.channel) } + val curMethod = com.example.medilightv2android.managers.GreenZoneConstants.detectionMethod + val analyzerAPanel = com.example.medilightv2android.managers.PiezoEchoAnalyzerA.shared + val analyses = lastMultiChannelResult.map { chData -> + when (curMethod) { + com.example.medilightv2android.managers.DetectionMethod.METHOD_A -> analyzerAPanel.analyzeChannel(chData.buffer, chData.channel) + else -> analyzer.analyzeChannel(chData.buffer, chData.channel) + } + } val detectedCount = analyses.count { it.isValid } val zoneColor = when { detectedCount >= 4 -> Color.Green @@ -1134,7 +1148,10 @@ private fun ChannelPanel( // Per-channel waveforms for (chData in lastMultiChannelResult.filter { it.buffer.isNotEmpty() }) { - val chAnalysis = analyzer.analyzeChannel(chData.buffer, chData.channel) + val chAnalysis = when (curMethod) { + com.example.medilightv2android.managers.DetectionMethod.METHOD_A -> analyzerAPanel.analyzeChannel(chData.buffer, chData.channel) + else -> analyzer.analyzeChannel(chData.buffer, chData.channel) + } Column(verticalArrangement = Arrangement.spacedBy(3.dp)) { // Channel header