diff --git a/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt b/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt index dd45b33..eb4136d 100644 --- a/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt +++ b/app/src/main/java/com/example/medilightv2android/ble/BleManager.kt @@ -364,27 +364,12 @@ class BleManager private constructor(private val context: Context) { debugLogger.info("WATCHDOG_STARTED timeout=${watchdogTimeoutMs}ms") watchdogJob = Thread({ - debugLogger.info("WATCHDOG_THREAD running") while (watchdogRunning) { - try { Thread.sleep(5000) } catch (e: InterruptedException) { - debugLogger.warn("WATCHDOG_THREAD interrupted") - break - } - if (!watchdogRunning) { - debugLogger.info("WATCHDOG_THREAD stopped (flag)") - break - } + try { Thread.sleep(5000) } catch (_: InterruptedException) { break } + if (!watchdogRunning) break + if (!isConnected.value) break val silenceMs = System.currentTimeMillis() - lastRxTimestamp - val connected = isConnected.value - debugLogger.info("WATCHDOG_CHECK silence=${silenceMs}ms connected=$connected") - - // connected=false면 정상 경로에서 이미 처리됨 → watchdog 종료 - if (!connected) { - debugLogger.info("WATCHDOG_STOP — already disconnected (handled by GATT callback)") - break - } - if (silenceMs > watchdogTimeoutMs) { // 직접 로그 기록 (handler 블로킹 무관) debugLogger.error("WATCHDOG_TIMEOUT silence=${silenceMs}ms — forcing reconnect")