setupConnectivityListner method
void
setupConnectivityListner({
- CustomNoInternetWrapper? offlineWidget,
- NoConnectivityStyle? connectivityStyle = NoConnectivityStyle.SNACKBAR,
- Widget? customAlert,
Implementation
void setupConnectivityListner({
CustomNoInternetWrapper? offlineWidget,
GlobalKey<NavigatorState>? navigatorKey,
NoConnectivityStyle? connectivityStyle = NoConnectivityStyle.SNACKBAR,
Widget? customAlert,
}) async {
if (_subscription == null) {
setUp();
}
if (connectivityStyle != NoConnectivityStyle.NONE) {
if (navigatorKey != null) {
_contextKey = navigatorKey;
}
_userWidget = offlineWidget;
_customAlert = customAlert;
_connectivityStyle = connectivityStyle;
if (_connectivityStyle == NoConnectivityStyle.CUSTOM &&
_userWidget == null) {
throw ("widgetForNoInternet is missing");
}
if (_connectivityStyle == NoConnectivityStyle.CUSTOMALERT &&
_customAlert == null) {
throw ("customAlert is missing");
}
}
_statusController.stream.listen((status) {
if (_connectivityStyle == NoConnectivityStyle.CUSTOM &&
(_contextKey.currentState?.overlay) != null) {
_overlayState = (_contextKey.currentState!.overlay);
}
if (status) {
try {
if (connectivityStyle != NoConnectivityStyle.NONE) {
_removeNoInternet();
}
} catch (e) {
print(e);
}
} else {
if (connectivityStyle != NoConnectivityStyle.NONE) {
showNoInternet();
}
}
});
}