You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
uco-mobile-poc/lib/app/core/config/connectivity_service.dart

47 lines
1.1 KiB
Dart

import 'dart:async';
import 'package:connectivity_plus/connectivity_plus.dart';
import '../utils/logs_utils.dart';
class ConnectivityHelper {
final Connectivity _connectivity = Connectivity();
late StreamSubscription<List<ConnectivityResult>> _subscription;
static bool isNetworkConnected = false;
checkNetworkConnectivity() async {
initConnectivity();
_subscription = _connectivity.onConnectivityChanged.listen(_updateConnectionStatus);
}
disposeConnectivity() {
_subscription.cancel();
}
Future<void> initConnectivity() async {
List<ConnectivityResult> result;
try {
result = await _connectivity.checkConnectivity();
} catch (e) {
result = [ConnectivityResult.none];
}
_updateConnectionStatus(result);
}
void _updateConnectionStatus(List<ConnectivityResult> result) {
dp("Connectivity result is", result);
result.forEach(
(e) {
if (e == ConnectivityResult.none || e == ConnectivityResult.bluetooth || e == ConnectivityResult.other) {
isNetworkConnected = false;
} else {
isNetworkConnected = true;
}
},
);
}
}