File tree Expand file tree Collapse file tree 1 file changed +22
-1
lines changed Expand file tree Collapse file tree 1 file changed +22
-1
lines changed Original file line number Diff line number Diff line change 11import 'dart:convert' ;
22import 'dart:io' ;
33
4+ import 'package:flutter/widgets.dart' ;
45import 'package:web_socket_channel/io.dart' ;
56import 'package:web_socket_channel/web_socket_channel.dart' ;
67import 'package:connectivity/connectivity.dart' ;
@@ -30,7 +31,7 @@ class Subscription {
3031 }
3132}
3233
33- class Client {
34+ class Client with WidgetsBindingObserver {
3435 factory Client () => _getInstance ();
3536 Client ._internal (
3637 {bool debug, ParseHTTPClient client, bool autoSendSessionId}) {
@@ -57,6 +58,7 @@ class Client {
5758 reconnect ();
5859 }
5960 });
61+ WidgetsBinding .instance.addObserver (this );
6062 }
6163 static Client get instance => _getInstance ();
6264 static Client _instance;
@@ -83,6 +85,25 @@ class Client {
8385 _connectLiveQuery ();
8486 }
8587
88+ int readyState () {
89+ if (_webSocket != null ) {
90+ return _webSocket.readyState;
91+ }
92+ return WebSocket .connecting;
93+ }
94+
95+ @override
96+ void didChangeAppLifecycleState (AppLifecycleState state) {
97+ super .didChangeAppLifecycleState (state);
98+ switch (state) {
99+ case AppLifecycleState .resumed:
100+ reconnect ();
101+ break ;
102+ default :
103+ break ;
104+ }
105+ }
106+
86107 Future <dynamic > disconnect () async {
87108 if (_webSocket != null && _webSocket.readyState == WebSocket .open) {
88109 if (_debug) {
You can’t perform that action at this time.
0 commit comments