From ca664cda0f3228b314540396c85d50199cdfc2ea Mon Sep 17 00:00:00 2001 From: FaizHashmiCS22 Date: Sun, 15 Dec 2024 15:04:11 +0300 Subject: [PATCH] Added connection checks --- lib/core/base/base_app_client.dart | 3 +++ lib/home/app_provider.dart | 9 ++++++--- lib/utils/utils.dart | 15 ++++++++++++--- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/lib/core/base/base_app_client.dart b/lib/core/base/base_app_client.dart index b14ee46..9529f52 100644 --- a/lib/core/base/base_app_client.dart +++ b/lib/core/base/base_app_client.dart @@ -20,7 +20,10 @@ class BaseAppClient { 'Content-Type': 'application/json', 'Accept': 'application/json', }); + final int statusCode = response.statusCode; + logger.i("statusCode : $statusCode"); + if (statusCode < 200 || statusCode >= 400) { if (onFailure != null) { onFailure(Utils.generateContactAdminMsg(), statusCode); diff --git a/lib/home/app_provider.dart b/lib/home/app_provider.dart index dcd634c..6caf9e4 100644 --- a/lib/home/app_provider.dart +++ b/lib/home/app_provider.dart @@ -226,13 +226,13 @@ class AppProvider extends ChangeNotifier { // if (currentWidgetsConfigModel == null) return; await getInfoWidgetsConfigurationsFromServer().whenComplete(() async { - if (currentWidgetsConfigModel!.isWeatherReq!) { + if (currentWidgetsConfigModel!.isWeatherReq != null && currentWidgetsConfigModel!.isWeatherReq!) { await getWeatherDetailsFromServer(); } - if (currentWidgetsConfigModel!.isPrayerTimeReq!) { + if (currentWidgetsConfigModel!.isPrayerTimeReq != null && currentWidgetsConfigModel!.isPrayerTimeReq!) { await getPrayerDetailsFromServer(); } - if (currentWidgetsConfigModel!.isRssFeedReq!) { + if (currentWidgetsConfigModel!.isRssFeedReq != null && currentWidgetsConfigModel!.isRssFeedReq!) { await getRssFeedDetailsFromServer(); } }); @@ -245,6 +245,9 @@ class AppProvider extends ChangeNotifier { Future getTheWidgetsConfigurationsEveryMidnight() async { if (currentWidgetsConfigModel == null) return; + if (!(currentWidgetsConfigModel!.isWeatherReq ?? false) && !(currentWidgetsConfigModel!.isPrayerTimeReq ?? false) && !(currentWidgetsConfigModel!.isRssFeedReq ?? false)) { + return; + } if (!currentWidgetsConfigModel!.isWeatherReq! && !currentWidgetsConfigModel!.isPrayerTimeReq! && !currentWidgetsConfigModel!.isRssFeedReq!) { return; } diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index 1ee4a21..f431d71 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -1,5 +1,6 @@ import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:queuing_system/core/config/size_config.dart'; +import 'package:queuing_system/main.dart'; class Utils { static getHeight() { @@ -17,11 +18,19 @@ class Utils { static Future checkConnection() async { List connectivityResult = await (Connectivity().checkConnectivity()); - if ((connectivityResult == ConnectivityResult.mobile) || (connectivityResult == ConnectivityResult.wifi)) { + int indexEthernet = connectivityResult.indexWhere((element) => element == ConnectivityResult.ethernet); + + if (indexEthernet != -1) { + return true; + } + + int indexWifi = connectivityResult.indexWhere((element) => element == ConnectivityResult.wifi); + + if (indexWifi != -1) { return true; - } else { - return false; } + + return false; } // static TextStyle textStyle(context) => TextStyle(color: Theme.of(context).primaryColor); //