a86fefe3215df6ed85191c8684b34b65a8d6fa3e
Downloads 에 VesiScan_BLE_*.log 가 여러 개 생기고 그마저 내용이 비던 문제. 원인이 셋이었다. 1. 재연결마다 파일이 갈라짐 connected() 가 liveLogFile=null 로 핸들을 버려서 BLE 가 끊겼다 붙을 때마다 새 파일이 생겼다. 앱 시작~첫 연결 구간도 별도 파일로 빠졌다. → 프로세스 1회당 파일 1개. 재연결 시에는 구분선만 남긴다. 2. 파일 쓰기에 동기화가 없음 rx() 는 BLE 콜백 스레드, 나머지는 UI 스레드에서 호출되는데 매번 파일을 새로 열어 쓰며 잠금이 없었다. 동시 쓰기로 줄이 섞이거나 유실됐다. → synchronized + 핸들 유지, 줄마다 flush (강제 종료에도 그 시점까지 보존). 3. 저장 실패가 조용히 묻힘 Downloads 쓰기가 막히면 예외를 삼켜 아무 데도 안 남았다. → 내부 저장소로 폴백하고 실제 경로를 파일 헤더에 기록. 추가로 두 가지: - Export 버튼이 메모리 링버퍼(2000줄)를 덤프해 "마지막 몇 분"만 나오던 것을 실시간 세션 파일을 그대로 내보내도록 변경. - disconnected() 가 비정상 종료 경로에서만 호출돼, 사용자가 직접 끊으면 아무 기록 없이 로그가 끊겼다. 이유(user/unexpected/gatt_error)를 구분해 항상 남기도록 수정. 임상 모드 step 별 ble.log 는 부가 사본으로 그대로 유지한다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Description
No description provided
Languages
Kotlin
97.1%
Python
2.9%