TF-2008 Only display the toast message of losing network connection on the web
(cherry picked from commit a9c945ba37cca89c4051a5a1efefe993a6fb3745)
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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';
|
||||
|
||||
+1
-1
@@ -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';
|
||||
|
||||
+12
-10
@@ -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(
|
||||
@@ -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';
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
Reference in New Issue
Block a user