UI revert: PiezoMonitoring 설정 패널 라벨 28sp → 14sp 복원
문서 빌드 117 묘사를 그대로 적용한 28sp가 실제 화면에서 너무 커서 Bladder Capacity / Catheter Threshold 라벨이 줄바꿈되고 divider padding 28dp가 카드를 과도하게 늘리는 곱창 결과 발생. 원본 14sp + divider padding 없음으로 일괄 되돌림. - 9개 라벨 fontSize 28sp → 14sp - 9개 HorizontalDivider modifier 제거 (padding 28dp 삭제) - Column verticalArrangement.spacedBy 9.dp → 6.dp Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+19
-18
@@ -1315,9 +1315,9 @@ fun PiezoMonitoringView(appState: AppState) {
|
|||||||
) {
|
) {
|
||||||
// Max Volume
|
// Max Volume
|
||||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
Text("Bladder Capacity", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
Text("Bladder Capacity", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||||
Spacer(modifier = Modifier.weight(1f))
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
Text("${appState.piezoSettings.maxVolume} mL", fontSize = 28.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
|
Text("${appState.piezoSettings.maxVolume} mL", fontSize = 14.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
|
||||||
}
|
}
|
||||||
Slider(
|
Slider(
|
||||||
value = appState.piezoSettings.maxVolume.toFloat(),
|
value = appState.piezoSettings.maxVolume.toFloat(),
|
||||||
@@ -1356,13 +1356,14 @@ fun PiezoMonitoringView(appState: AppState) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
HorizontalDivider()
|
HorizontalDivider()
|
||||||
|
|
||||||
// Catheterization Threshold
|
// Catheterization Threshold
|
||||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
Text("Catheter Threshold", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
Text("Catheter Threshold", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||||
Spacer(modifier = Modifier.weight(1f))
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
Text("Level ${appState.bladderLevel.catheterizationThreshold}", fontSize = 28.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
|
Text("Level ${appState.bladderLevel.catheterizationThreshold}", fontSize = 14.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
|
||||||
}
|
}
|
||||||
Slider(
|
Slider(
|
||||||
value = appState.bladderLevel.catheterizationThreshold.toFloat(),
|
value = appState.bladderLevel.catheterizationThreshold.toFloat(),
|
||||||
@@ -1374,13 +1375,13 @@ fun PiezoMonitoringView(appState: AppState) {
|
|||||||
|
|
||||||
// ── 개발자 전용 설정 ──
|
// ── 개발자 전용 설정 ──
|
||||||
if (appState.isDevMode) {
|
if (appState.isDevMode) {
|
||||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
HorizontalDivider()
|
||||||
|
|
||||||
// Low Echo Threshold (Otsu / manual)
|
// Low Echo Threshold (Otsu / manual)
|
||||||
var otsuEnabled by remember { mutableStateOf(analyzer.useAdaptiveThreshold) }
|
var otsuEnabled by remember { mutableStateOf(analyzer.useAdaptiveThreshold) }
|
||||||
var currentThreshold by remember { mutableStateOf(GreenZoneConstants.lowEchoAmp) }
|
var currentThreshold by remember { mutableStateOf(GreenZoneConstants.lowEchoAmp) }
|
||||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
Text("Threshold", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
Text("Threshold", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||||
Spacer(modifier = Modifier.width(8.dp))
|
Spacer(modifier = Modifier.width(8.dp))
|
||||||
Text(
|
Text(
|
||||||
if (otsuEnabled) "Otsu: ${"%.0f".format(analyzer.lastOtsuThreshold)}" else "${"%.0f".format(currentThreshold)}",
|
if (otsuEnabled) "Otsu: ${"%.0f".format(analyzer.lastOtsuThreshold)}" else "${"%.0f".format(currentThreshold)}",
|
||||||
@@ -1404,12 +1405,12 @@ fun PiezoMonitoringView(appState: AppState) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
HorizontalDivider()
|
||||||
|
|
||||||
// DPS
|
// DPS
|
||||||
var dpsText by remember { mutableStateOf("%.3f".format(PiezoHW.distancePerSample)) }
|
var dpsText by remember { mutableStateOf("%.3f".format(PiezoHW.distancePerSample)) }
|
||||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
Text("DPS", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
Text("DPS", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||||
Spacer(modifier = Modifier.weight(1f))
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
OutlinedTextField(
|
OutlinedTextField(
|
||||||
value = dpsText,
|
value = dpsText,
|
||||||
@@ -1421,12 +1422,12 @@ fun PiezoMonitoringView(appState: AppState) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
HorizontalDivider()
|
||||||
|
|
||||||
// Detection Method A/B/C
|
// Detection Method A/B/C
|
||||||
var selectedMethod by remember { mutableStateOf(com.example.medilightv2android.managers.GreenZoneConstants.detectionMethod) }
|
var selectedMethod by remember { mutableStateOf(com.example.medilightv2android.managers.GreenZoneConstants.detectionMethod) }
|
||||||
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
|
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
|
||||||
Text("Detection", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
Text("Detection", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||||
Spacer(modifier = Modifier.weight(1f))
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
val methods = listOf(
|
val methods = listOf(
|
||||||
com.example.medilightv2android.managers.DetectionMethod.METHOD_A to "A",
|
com.example.medilightv2android.managers.DetectionMethod.METHOD_A to "A",
|
||||||
@@ -1453,12 +1454,12 @@ fun PiezoMonitoringView(appState: AppState) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
HorizontalDivider()
|
||||||
|
|
||||||
// BV Method (Frustum / V41)
|
// BV Method (Frustum / V41)
|
||||||
var selectedBvMethod by remember { mutableStateOf(com.example.medilightv2android.managers.GreenZoneConstants.bvMethod) }
|
var selectedBvMethod by remember { mutableStateOf(com.example.medilightv2android.managers.GreenZoneConstants.bvMethod) }
|
||||||
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
|
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
|
||||||
Text("BV", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
Text("BV", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||||
Spacer(modifier = Modifier.weight(1f))
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
val bvMethods = listOf(
|
val bvMethods = listOf(
|
||||||
com.example.medilightv2android.managers.BvMethod.FRUSTUM to "Frustum",
|
com.example.medilightv2android.managers.BvMethod.FRUSTUM to "Frustum",
|
||||||
@@ -1484,23 +1485,23 @@ fun PiezoMonitoringView(appState: AppState) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
HorizontalDivider()
|
||||||
|
|
||||||
// SG Filter
|
// SG Filter
|
||||||
var sgEnabled by remember { mutableStateOf(analyzer.useSgFilter) }
|
var sgEnabled by remember { mutableStateOf(analyzer.useSgFilter) }
|
||||||
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
|
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
|
||||||
Text("SG Filter", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
Text("SG Filter", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||||
Spacer(modifier = Modifier.weight(1f))
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
Switch(checked = sgEnabled, onCheckedChange = { sgEnabled = it; analyzer.useSgFilter = it },
|
Switch(checked = sgEnabled, onCheckedChange = { sgEnabled = it; analyzer.useSgFilter = it },
|
||||||
colors = SwitchDefaults.colors(checkedTrackColor = MlPrimary))
|
colors = SwitchDefaults.colors(checkedTrackColor = MlPrimary))
|
||||||
}
|
}
|
||||||
|
|
||||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
HorizontalDivider()
|
||||||
|
|
||||||
// Post Max Index (바닥반사 무시 경계)
|
// Post Max Index (바닥반사 무시 경계)
|
||||||
var postMaxVal by remember { mutableStateOf(GreenZoneConstants.postMaxIdx.toFloat()) }
|
var postMaxVal by remember { mutableStateOf(GreenZoneConstants.postMaxIdx.toFloat()) }
|
||||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
Text("Post Max", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
Text("Post Max", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||||
Spacer(modifier = Modifier.width(8.dp))
|
Spacer(modifier = Modifier.width(8.dp))
|
||||||
Text("${postMaxVal.toInt()} / 100", fontSize = 13.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
|
Text("${postMaxVal.toInt()} / 100", fontSize = 13.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
|
||||||
Spacer(modifier = Modifier.weight(1f))
|
Spacer(modifier = Modifier.weight(1f))
|
||||||
@@ -1514,7 +1515,7 @@ fun PiezoMonitoringView(appState: AppState) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
HorizontalDivider()
|
||||||
|
|
||||||
// Disconnect
|
// Disconnect
|
||||||
var showDisconnectConfirm by remember { mutableStateOf(false) }
|
var showDisconnectConfirm by remember { mutableStateOf(false) }
|
||||||
@@ -1544,7 +1545,7 @@ fun PiezoMonitoringView(appState: AppState) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Spacer(modifier = Modifier.height(8.dp))
|
Spacer(modifier = Modifier.height(8.dp))
|
||||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
HorizontalDivider()
|
||||||
Spacer(modifier = Modifier.height(8.dp))
|
Spacer(modifier = Modifier.height(8.dp))
|
||||||
|
|
||||||
// Version (BuildConfig.VERSION_NAME) — read-only
|
// Version (BuildConfig.VERSION_NAME) — read-only
|
||||||
|
|||||||
Reference in New Issue
Block a user