diff --git a/lib/features/base/base_controller.dart b/lib/features/base/base_controller.dart index a983f54a73..4c70790a2b 100644 --- a/lib/features/base/base_controller.dart +++ b/lib/features/base/base_controller.dart @@ -7,6 +7,7 @@ import 'package:core/presentation/utils/app_toast.dart'; import 'package:core/presentation/views/toast/tmail_toast.dart'; import 'package:core/utils/app_logger.dart'; import 'package:core/utils/fps_manager.dart'; +import 'package:core/utils/platform_info.dart'; import 'package:dartz/dartz.dart'; import 'package:fcm/model/firebase_capability.dart'; import 'package:flutter/material.dart'; @@ -121,17 +122,19 @@ abstract class BaseController extends GetxController logError('BaseController::_performFilterExceptionInError(): $error'); if (error is NoNetworkError || error is ConnectionTimeout || error is InternalServerError) { logError('BaseController::_performFilterExceptionInError(): NoNetworkError'); - if (currentOverlayContext != null && currentContext != null) { - _appToast.showToastMessage( - currentOverlayContext!, - AppLocalizations.of(currentContext!).no_internet_connection, - actionName: AppLocalizations.of(currentContext!).skip, - onActionClick: ToastView.dismiss, - leadingSVGIcon: _imagePaths.icNotConnection, - backgroundColor: AppColor.textFieldErrorBorderColor, - textColor: Colors.white, - infinityToast: true, - ); + if (PlatformInfo.isWeb) { + if (currentOverlayContext != null && currentContext != null) { + _appToast.showToastMessage( + currentOverlayContext!, + AppLocalizations.of(currentContext!).no_internet_connection, + actionName: AppLocalizations.of(currentContext!).skip, + onActionClick: ToastView.dismiss, + leadingSVGIcon: _imagePaths.icNotConnection, + backgroundColor: AppColor.textFieldErrorBorderColor, + textColor: Colors.white, + infinityToast: true, + ); + } } return error; } else if (error is BadCredentialsException) { diff --git a/lib/features/composer/presentation/composer_controller.dart b/lib/features/composer/presentation/composer_controller.dart index 6caf9924e6..b51f2a70cf 100644 --- a/lib/features/composer/presentation/composer_controller.dart +++ b/lib/features/composer/presentation/composer_controller.dart @@ -58,7 +58,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_identities_state.dart'; import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart'; import 'package:tmail_ui_user/features/manage_account/presentation/extensions/identity_extension.dart'; -import 'package:tmail_ui_user/features/network_status_handle/presentation/network_connnection_controller.dart'; +import 'package:tmail_ui_user/features/network_connection/presentation/network_connection_controller.dart'; import 'package:tmail_ui_user/features/sending_queue/domain/extensions/sending_email_extension.dart'; import 'package:tmail_ui_user/features/sending_queue/presentation/model/sending_email_action_type.dart'; import 'package:tmail_ui_user/features/sending_queue/presentation/model/sending_email_arguments.dart'; diff --git a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart index c15f2e0a45..e1b29772df 100644 --- a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart @@ -83,7 +83,7 @@ import 'package:tmail_ui_user/features/manage_account/presentation/extensions/da import 'package:tmail_ui_user/features/manage_account/presentation/extensions/vacation_response_extension.dart'; import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart'; import 'package:tmail_ui_user/features/manage_account/presentation/model/manage_account_arguments.dart'; -import 'package:tmail_ui_user/features/network_status_handle/presentation/network_connnection_controller.dart'; +import 'package:tmail_ui_user/features/network_connection/presentation/network_connection_controller.dart'; import 'package:tmail_ui_user/features/offline_mode/config/work_manager_constants.dart'; import 'package:tmail_ui_user/features/offline_mode/controller/work_manager_controller.dart'; import 'package:tmail_ui_user/features/offline_mode/work_manager/one_time_work_request.dart'; diff --git a/lib/features/network_status_handle/presentation/network_connnection_controller.dart b/lib/features/network_connection/presentation/network_connection_controller.dart similarity index 89% rename from lib/features/network_status_handle/presentation/network_connnection_controller.dart rename to lib/features/network_connection/presentation/network_connection_controller.dart index 047f0a236a..490464029f 100644 --- a/lib/features/network_status_handle/presentation/network_connnection_controller.dart +++ b/lib/features/network_connection/presentation/network_connection_controller.dart @@ -44,11 +44,7 @@ class NetworkConnectionController extends BaseController { final currentConnectionResult = await _connectivity.checkConnectivity(); log('NetworkConnectionController::onReady():_getCurrentNetworkConnectionState: $currentConnectionResult'); _setNetworkConnectivityState(currentConnectionResult); - if (_isEnableShowToastDisconnection && !isNetworkConnectionAvailable()) { - _showToastLostConnection(); - } else { - ToastView.dismiss(); - } + _handleNetworkConnectionState(); } void _listenNetworkConnectionChanged() { @@ -56,11 +52,7 @@ class NetworkConnectionController extends BaseController { (result) { log('NetworkConnectionController::_listenNetworkConnectionChanged():onConnectivityChanged: $result'); _setNetworkConnectivityState(result); - if (_isEnableShowToastDisconnection && !isNetworkConnectionAvailable()) { - _showToastLostConnection(); - } else { - ToastView.dismiss(); - } + _handleNetworkConnectionState(); }, onError: (error, stackTrace) { logError('NetworkConnectionController::_listenNetworkConnectionChanged():error: $error'); @@ -77,6 +69,16 @@ class NetworkConnectionController extends BaseController { return connectivityResult.value != ConnectivityResult.none; } + void _handleNetworkConnectionState() { + if (PlatformInfo.isWeb) { + if (_isEnableShowToastDisconnection && !isNetworkConnectionAvailable()) { + _showToastLostConnection(); + } else { + ToastView.dismiss(); + } + } + } + void _showToastLostConnection() { if (currentContext != null && currentOverlayContext != null) { _appToast.showToastMessage( diff --git a/lib/features/sending_queue/presentation/sending_queue_controller.dart b/lib/features/sending_queue/presentation/sending_queue_controller.dart index fa92302454..a5a6642c50 100644 --- a/lib/features/sending_queue/presentation/sending_queue_controller.dart +++ b/lib/features/sending_queue/presentation/sending_queue_controller.dart @@ -19,7 +19,7 @@ import 'package:tmail_ui_user/features/caching/utils/cache_utils.dart'; import 'package:tmail_ui_user/features/email/domain/state/delete_sending_email_state.dart'; import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart'; -import 'package:tmail_ui_user/features/network_status_handle/presentation/network_connnection_controller.dart'; +import 'package:tmail_ui_user/features/network_connection/presentation/network_connection_controller.dart'; import 'package:tmail_ui_user/features/offline_mode/controller/work_manager_controller.dart'; import 'package:tmail_ui_user/features/offline_mode/model/sending_state.dart'; import 'package:tmail_ui_user/features/sending_queue/domain/extensions/list_sending_email_extension.dart'; diff --git a/lib/main/bindings/network_connection/network_connection_bindings.dart b/lib/main/bindings/network_connection/network_connection_bindings.dart index 14db154a99..3bb2be3a7a 100644 --- a/lib/main/bindings/network_connection/network_connection_bindings.dart +++ b/lib/main/bindings/network_connection/network_connection_bindings.dart @@ -1,7 +1,7 @@ import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:get/get.dart'; import 'package:tmail_ui_user/features/base/base_bindings.dart'; -import 'package:tmail_ui_user/features/network_status_handle/presentation/network_connnection_controller.dart'; +import 'package:tmail_ui_user/features/network_connection/presentation/network_connection_controller.dart'; class NetWorkConnectionBindings extends BaseBindings { diff --git a/lib/main/exceptions/remote_exception_thrower.dart b/lib/main/exceptions/remote_exception_thrower.dart index 0e5f545508..db8bb01aea 100644 --- a/lib/main/exceptions/remote_exception_thrower.dart +++ b/lib/main/exceptions/remote_exception_thrower.dart @@ -6,7 +6,7 @@ import 'package:get/get_connect/http/src/status/http_status.dart'; import 'package:jmap_dart_client/jmap/core/error/method/error_method_response.dart'; import 'package:jmap_dart_client/jmap/core/error/method/exception/error_method_response_exception.dart'; import 'package:tmail_ui_user/features/login/domain/exceptions/authentication_exception.dart'; -import 'package:tmail_ui_user/features/network_status_handle/presentation/network_connnection_controller.dart'; +import 'package:tmail_ui_user/features/network_connection/presentation/network_connection_controller.dart'; import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart'; import 'package:tmail_ui_user/main/exceptions/remote_exception.dart'; import 'package:tmail_ui_user/main/routes/route_navigation.dart';