From 2f8a21505eea78b35c4a0ced8a5aadbe320c0134 Mon Sep 17 00:00:00 2001 From: jjangddu Date: Fri, 12 Jun 2026 10:45:24 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=8E=8C=EC=9B=A8=EC=96=B4=20=EB=B0=B0?= =?UTF-8?q?=EB=84=88=20=E2=80=94=20=EB=AF=B8=EC=97=B0=EA=B2=B0=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=EC=97=90=EC=84=A0=20=EC=9D=BC=EC=A0=88=20=ED=91=9C?= =?UTF-8?q?=EC=8B=9C=20X?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 증상: dev bypass(Enter Measurement Mode)로 BLE 없이 측정 진입 했는데도 "펌웨어 업데이트 필요" 배너 노출. 원인: BleManager 가 singleton 이라 이전 세션에서 채워진 firmwareVersion 값이 그대로 남아있음. isFirmwareOutdated 가 isConnected 무관하게 그 값만 보고 판단 → false positive. 수정: - FirmwareWarningBanner 진입부에 isConnected 체크 추가 - 미연결이면 outdated / timedOut 계산 전에 early return - demo mode / dev bypass / 이전 세션 잔여 값 모두 차단 --- .../medilightv2android/ui/components/FirmwareWarningBanner.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/com/example/medilightv2android/ui/components/FirmwareWarningBanner.kt b/app/src/main/java/com/example/medilightv2android/ui/components/FirmwareWarningBanner.kt index 25d1aa3..2079111 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/components/FirmwareWarningBanner.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/components/FirmwareWarningBanner.kt @@ -41,6 +41,10 @@ fun FirmwareWarningBanner(bleManager: BleManager, modifier: Modifier = Modifier) val fw by bleManager.firmwareVersion val isConnected by bleManager.isConnected + // 미연결 상태에선 펌웨어 배너 일절 노출 X. dev bypass / demo mode / 이전 세션 + // 잔여 firmwareVersion 값으로 인한 false positive 방지. + if (!isConnected) return + // (2) 연결됐는데 일정 시간 동안 펌웨어 미수신 추적 var timedOut by remember { mutableStateOf(false) } LaunchedEffect(isConnected, fw) {