diff --git a/lib/helpers/account_helper.dart b/lib/helpers/account_helper.dart index f61f8f5..400399a 100644 --- a/lib/helpers/account_helper.dart +++ b/lib/helpers/account_helper.dart @@ -1,5 +1,6 @@ import 'package:comunic/helpers/api_helper.dart'; import 'package:comunic/helpers/preferences_helper.dart'; +import 'package:comunic/helpers/websocket_helper.dart'; import 'package:comunic/models/api_request.dart'; import 'package:comunic/models/authentication_details.dart'; import 'package:comunic/models/login_tokens.dart'; @@ -82,6 +83,9 @@ class AccountHelper { Future signOut() async { await (await PreferencesHelper.getInstance()).setLoginTokens(null); _currentUserID = 0; + + // Close current web socket + WebSocketHelper.close(); } /// Create a new user account diff --git a/lib/helpers/websocket_helper.dart b/lib/helpers/websocket_helper.dart index b1b77e5..82eb501 100644 --- a/lib/helpers/websocket_helper.dart +++ b/lib/helpers/websocket_helper.dart @@ -72,6 +72,11 @@ class WebSocketHelper { ); } + /// Close current WebSocket (if any) + static close() { + if (isConnected()) _ws.sink.close(); + } + /// Send a new message /// /// This method might throw an [Exception] in case of failure