Prevent disconnection handling when already disconnected, curing a race condition.

This commit is contained in:
Winston Lowe 2026-01-31 14:55:55 -08:00
parent 90ce46392a
commit d30e7c4e2c

View file

@ -706,7 +706,7 @@ class MeshCoreConnector extends ChangeNotifier {
try {
_connectionSubscription = device.connectionState.listen((state) {
if (state == BluetoothConnectionState.disconnected) {
if (state == BluetoothConnectionState.disconnected && isConnected) {
_handleDisconnection();
}
});
@ -959,12 +959,7 @@ class MeshCoreConnector extends ChangeNotifier {
if (!isConnected) return;
if (_batteryRequested && !force) return;
_batteryRequested = true;
try {
await sendFrame(buildGetBattAndStorageFrame());
} catch (e) {
// Connection likely lost - trigger disconnection handling
_handleDisconnection();
}
await sendFrame(buildGetBattAndStorageFrame());
}
void _startBatteryPolling() {