feat(ble): GATT status=5 (FW allowlist bond conflict) UX (cloud-mvp 10c45dc 이식)

FW 팀이 1:1 bond allowlist 정책 추가 예정. 다른 central 과 이미 bond 중인
기기에 붙으면 GATT_INSUFFICIENT_AUTHENTICATION (status=5) 로 거부.

BleManager:
  - bondConflictAddress: MutableStateOf<String?> 신규
  - status=5 감지 시 bondConflictAddress=addr + connectionError="BOND_CONFLICT:$addr"
  - CONNECTED 성공 시 clear

DeviceScanView (ui/views/connection/):
  - 에러 배너 확장 (Column 2단):
    · 안내 문구 (기기 15초 롱프레스로 본딩 삭제)
    · "이 폰의 본딩 정보 초기화" OutlinedButton (unbondAndRemoveAddress)
  - Toast 완료 안내

strings.xml (KR/EN): ble_error_bond_conflict / ble_action_reset_bond / ble_toast_bond_removed
This commit is contained in:
2026-08-04 10:54:41 +09:00
parent de6e1d1931
commit fda9a4d97f
4 changed files with 68 additions and 11 deletions
+4
View File
@@ -379,6 +379,10 @@
<string name="device_scan_pairing_required_title">페어링 필요</string>
<string name="device_scan_pairing_required_msg">블루투스 페어링 요청이 표시됩니다.\n\'페어링\' 을 누르고, PIN 이 나타나면 입력하세요.</string>
<string name="device_scan_pairing_required_err">페어링이 필요합니다. 기기를 페어링해주세요.</string>
<!-- FW allowlist bond conflict (GATT status=5) — 2026-08-04 -->
<string name="ble_error_bond_conflict">이 기기는 다른 앱과 이미 페어링되어 있습니다. 기기 전원 버튼을 15초 롱프레스로 본딩 정보를 삭제한 뒤 다시 시도하세요.</string>
<string name="ble_action_reset_bond">이 폰의 본딩 정보 초기화</string>
<string name="ble_toast_bond_removed">본딩 정보 삭제 완료. 다시 연결을 시도하세요.</string>
<string name="device_scan_back_desc">뒤로</string>
<string name="device_scan_warning_desc">경고</string>
<string name="device_scan_error_desc">오류</string>