Skip to content

Commit

Permalink
websocket mixin internet reconnection fix
Browse files Browse the repository at this point in the history
  • Loading branch information
josancamon19 committed Aug 13, 2024
1 parent 9e87014 commit 07410b7
Showing 1 changed file with 3 additions and 11 deletions.
14 changes: 3 additions & 11 deletions app/lib/pages/capture/logic/websocket_mixin.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ mixin WebSocketMixin {
IOWebSocketChannel? websocketChannel;
int _reconnectionAttempts = 0;
Timer? _reconnectionTimer;
late StreamSubscription<InternetStatus> _internetListener;
StreamSubscription<InternetStatus>? _internetListener;
InternetStatus _internetStatus = InternetStatus.connected;

final int _initialReconnectDelay = 1;
Expand Down Expand Up @@ -140,6 +140,7 @@ mixin WebSocketMixin {
required BleAudioCodec codec,
required int sampleRate,
}) {
_internetListener?.cancel();
_internetListener = InternetConnection().onStatusChange.listen((InternetStatus status) {
_internetStatus = status;
switch (status) {
Expand Down Expand Up @@ -267,18 +268,9 @@ mixin WebSocketMixin {
);
}

void _notifyInternetRestored() {
NotificationService.instance.clearNotification(3);
NotificationService.instance.createNotification(
notificationId: 3,
title: 'Internet Connection Restored',
body: 'Your device is back online. Transcription will resume shortly.',
);
}

void closeWebSocket() {
websocketChannel?.sink.close(1000);
_reconnectionTimer?.cancel();
_internetListener.cancel();
_internetListener?.cancel();
}
}

0 comments on commit 07410b7

Please sign in to comment.