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 a9eb0a3..5f95080 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 @@ -1823,6 +1823,36 @@ fun PiezoMonitoringView(appState: AppState) { colors = SwitchDefaults.colors(checkedTrackColor = Color(0xFFD32F2F)) ) } + + // Wakeup 알람 발동을 위한 LYING 유지 시간 (dev 조절 가능) + var lyingDurVal by remember { + mutableStateOf( + com.example.medilightv2android.services.WakeupAlarmPrefs.lyingDurationSec(context).toFloat() + ) + } + Row(verticalAlignment = Alignment.CenterVertically) { + Text("Lying Duration", fontSize = labelSize, fontWeight = FontWeight.SemiBold) + Spacer(modifier = Modifier.width(8.dp)) + Text( + if (lyingDurVal < 60) "${lyingDurVal.toInt()}초" + else "${(lyingDurVal / 60).toInt()}분 ${(lyingDurVal.toInt() % 60)}초", + fontSize = 13.sp, fontWeight = FontWeight.Bold, color = MlPrimary + ) + Spacer(modifier = Modifier.weight(1f)) + Text("이상 lying 후 일어나면 알람", fontSize = 10.sp, color = MlSecondaryText) + } + Slider( + value = lyingDurVal, + onValueChange = { + lyingDurVal = it + val sec = it.toInt() + com.example.medilightv2android.services.WakeupAlarmPrefs.setLyingDurationSec(context, sec) + wakeupDetector.lyingDurationSec = sec + }, + valueRange = 5f..600f, // 5초 ~ 10분 + steps = 0, + colors = SliderDefaults.colors(thumbColor = MlPrimary, activeTrackColor = MlPrimary) + ) } HorizontalDivider(modifier = Modifier.padding(vertical = dividerPadding))