mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
The reconnect policy previously capped at 10 consecutive failures and emitted a permanent disconnect, which terminated the reconnect loop and required the user to manually re-select the device. BleRadioTransport is only ever instantiated for the user-selected address (verified via SharedRadioInterfaceService.startTransportLocked), so the only legitimate permanent-disconnect path is explicit close() owned by the service layer. - BleRadioTransport: pass maxFailures = Int.MAX_VALUE; backoff still caps at 60 s so battery impact remains bounded. - BleExceptionClassifier: flip UnmetRequirementException (BT off / permission missing) to non-permanent — both can resolve without the user re-selecting the device. - Test: replace the old 'gives up after DEFAULT_MAX_FAILURES' test with an inverted contract test that runs past the legacy threshold and asserts the policy never emits isPermanent=true on its own. |
||
|---|---|---|
| .. | ||
| api | ||
| barcode | ||
| ble | ||
| common | ||
| data | ||
| database | ||
| datastore | ||
| di | ||
| domain | ||
| model | ||
| navigation | ||
| network | ||
| nfc | ||
| prefs | ||
| proto | ||
| repository | ||
| resources | ||
| service | ||
| takserver | ||
| testing | ||
| ui | ||