From 7be3f0b096b9883590d3db062533bd571e25a7f8 Mon Sep 17 00:00:00 2001 From: jjangddu Date: Thu, 11 Jun 2026 15:05:08 +0900 Subject: [PATCH] =?UTF-8?q?demo:=20PiezoMonitoring=20Settings=20overlay=20?= =?UTF-8?q?Disconnect=20=EC=B6=94=EA=B0=80=20+=20v1.1.1-design?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 다중 기기 페어링 작업과 짝 — known 기기로 빠른 스위치 시 완전 해제(Delete Pairing) 말고 소프트 끊기(Disconnect) 옵션 필요. demo-final 에는 통합 설정 탭이 없으므로 기존 overlay 의 Delete Pairing 위에 Disconnect 버튼을 같이 배치. - Disconnect (회색): bond 유지, 다음 측정 빠른 재연결 - Delete Pairing (빨강): 기존 확인 다이얼로그 그대로 버전: 1.1.0-design (vc25) → 1.1.1-design (vc27) vc26은 master 의 v1.2.0 이라 충돌 피해 27 로 jump. --- app/build.gradle.kts | 4 ++-- .../views/monitoring/PiezoMonitoringView.kt | 21 ++++++++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index d5771d0..c77b488 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -14,8 +14,8 @@ android { applicationId = "com.example.medilightv2android" minSdk = 24 targetSdk = 36 - versionCode = 25 - versionName = "1.1.0-design" + versionCode = 27 + versionName = "1.1.1-design" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } 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 510387f..7175323 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 @@ -1582,7 +1582,26 @@ fun PiezoMonitoringView(appState: AppState) { HorizontalDivider(modifier = Modifier.padding(vertical = dividerPadding)) - // Disconnect + // Disconnect (소프트) — bond 유지, 다른 known 기기로 빠른 스위치 + Button( + onClick = { + showSettings = false + bleManager.disconnect() + appState.isDeviceConnected = false + appState.goHome() + }, + modifier = Modifier.fillMaxWidth().height(40.dp), + shape = RoundedCornerShape(10.dp), + colors = ButtonDefaults.buttonColors(containerColor = MlSecondaryText.copy(alpha = 0.15f)) + ) { + Icon(Icons.Default.LinkOff, null, tint = Color(0xFF333333), modifier = Modifier.size(16.dp)) + Spacer(modifier = Modifier.width(6.dp)) + Text("Disconnect", fontSize = 13.sp, fontWeight = FontWeight.SemiBold, color = Color(0xFF333333)) + } + + Spacer(modifier = Modifier.height(6.dp)) + + // Delete Pairing — 완전 해제 (bond 삭제 + known list 에서 제거) var showDisconnectConfirm by remember { mutableStateOf(false) } Button( onClick = { showDisconnectConfirm = true },