TF-1042:Connection pop up never be disappear

This commit is contained in:
ManhNTX
2022-10-18 14:36:33 +07:00
committed by Dat H. Pham
parent 9626d12c77
commit df7f9b89ba
20 changed files with 191 additions and 165 deletions
@@ -3,14 +3,13 @@ import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
import 'package:tmail_ui_user/features/base/mixin/network_connection_mixin.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mixin/filter_email_popup_menu_mixin.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/mixin/user_setting_popup_menu_mixin.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart';
abstract class BaseMailboxDashBoardView extends GetWidget<MailboxDashBoardController>
with NetworkConnectionMixin, UserSettingPopupMenuMixin, FilterEmailPopupMenuMixin,
with UserSettingPopupMenuMixin, FilterEmailPopupMenuMixin,
AppLoaderMixin {
BaseMailboxDashBoardView({Key? key}) : super(key: key);
@@ -1,6 +1,5 @@
import 'dart:async';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:core/core.dart';
import 'package:dartz/dartz.dart';
import 'package:flutter/foundation.dart';
@@ -63,6 +62,7 @@ import 'package:tmail_ui_user/features/manage_account/domain/usecases/update_vac
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/thread/domain/model/filter_message_option.dart';
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
import 'package:tmail_ui_user/features/thread/domain/state/empty_trash_folder_state.dart';
@@ -85,12 +85,12 @@ class MailboxDashBoardController extends ReloadableController {
final AppToast _appToast = Get.find<AppToast>();
final ImagePaths _imagePaths = Get.find<ImagePaths>();
final RemoveEmailDraftsInteractor _removeEmailDraftsInteractor = Get.find<RemoveEmailDraftsInteractor>();
final Connectivity _connectivity = Get.find<Connectivity>();
final ResponsiveUtils _responsiveUtils = Get.find<ResponsiveUtils>();
final EmailReceiveManager _emailReceiveManager = Get.find<EmailReceiveManager>();
final SearchController searchController = Get.find<SearchController>();
final DownloadController downloadController = Get.find<DownloadController>();
final AppGridDashboardController _appGridDashboardController = Get.find<AppGridDashboardController>();
final NetworkConnectionController networkConnectionController = Get.find<NetworkConnectionController>();
final MoveToMailboxInteractor _moveToMailboxInteractor;
final DeleteEmailPermanentlyInteractor _deleteEmailPermanentlyInteractor;
@@ -128,7 +128,6 @@ class MailboxDashBoardController extends ReloadableController {
PresentationMailbox? outboxMailbox;
RouterArguments? routerArguments;
late StreamSubscription _connectivityStreamSubscription;
late StreamSubscription _emailReceiveManagerStreamSubscription;
late StreamSubscription _fileReceiveManagerStreamSubscription;
@@ -158,8 +157,6 @@ class MailboxDashBoardController extends ReloadableController {
@override
void onInit() {
_registerProgressState();
_registerNetworkConnectivityState();
super.onInit();
}
@@ -287,17 +284,6 @@ class MailboxDashBoardController extends ReloadableController {
@override
void onError(error) {}
void _registerNetworkConnectivityState() async {
setNetworkConnectivityState(await _connectivity.checkConnectivity());
_connectivityStreamSubscription = _connectivity.onConnectivityChanged.listen((ConnectivityResult result) {
log('MailboxDashBoardController::_registerNetworkConnectivityState(): ConnectivityResult: ${result.name}');
setNetworkConnectivityState(result);
if (userProfile.value == null && result != ConnectivityResult.none) {
_getUserProfile();
}
});
}
void _registerPendingEmailAddress() {
_emailReceiveManagerStreamSubscription =
_emailReceiveManager.pendingEmailAddressInfo.stream.listen((emailAddress) {
@@ -1150,7 +1136,6 @@ class MailboxDashBoardController extends ReloadableController {
_emailReceiveManager.closeEmailReceiveManagerStream();
_emailReceiveManagerStreamSubscription.cancel();
_fileReceiveManagerStreamSubscription.cancel();
_connectivityStreamSubscription.cancel();
_progressStateController.close();
Get.delete<DownloadController>();
super.onClose();
@@ -91,14 +91,6 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
mobile: ThreadView());
}
}),
Obx(() {
if (controller.isNetworkConnectionAvailable()) {
return const SizedBox.shrink();
}
return Align(
alignment: Alignment.bottomCenter,
child: buildNetworkConnectionWidget(context));
}),
]),
);
}
@@ -206,15 +206,6 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
Obx(() => controller.composerOverlayState.value == ComposerOverlayState.active
? ComposerView()
: const SizedBox.shrink()),
Obx(() {
if (controller.isNetworkConnectionAvailable()) {
return const SizedBox.shrink();
} else {
return Align(
alignment: Alignment.bottomCenter,
child: buildNetworkConnectionWidget(context));
}
}),
_buildDownloadTaskStateWidget(),
]),
),