TF-1042:Connection pop up never be disappear
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||
import 'package:contact/contact/model/capability_contact.dart';
|
||||
import 'package:core/core.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
@@ -13,7 +12,6 @@ import 'package:tmail_ui_user/main/error/capability_validator.dart';
|
||||
|
||||
abstract class BaseController extends GetxController with MessageDialogActionMixin, PopupContextMenuActionMixin {
|
||||
final viewState = Rx<Either<Failure, Success>>(Right(UIState.idle));
|
||||
final connectivityResult = Rxn<ConnectivityResult>();
|
||||
FpsCallback? fpsCallback;
|
||||
|
||||
void consumeState(Stream<Either<Failure, Success>> newStateStream) async {
|
||||
@@ -28,14 +26,6 @@ abstract class BaseController extends GetxController with MessageDialogActionMix
|
||||
viewState.value = newState;
|
||||
}
|
||||
|
||||
void setNetworkConnectivityState(ConnectivityResult newConnectivityResult) {
|
||||
connectivityResult.value = newConnectivityResult;
|
||||
}
|
||||
|
||||
bool isNetworkConnectionAvailable() {
|
||||
return connectivityResult.value != ConnectivityResult.none;
|
||||
}
|
||||
|
||||
void getState(Future<Either<Failure, Success>> newStateStream) async {
|
||||
final state = await newStateStream;
|
||||
state.fold(
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
|
||||
import 'package:core/core.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
mixin NetworkConnectionMixin {
|
||||
|
||||
final _imagePaths = Get.find<ImagePaths>();
|
||||
|
||||
Widget buildNetworkConnectionWidget(BuildContext context) {
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.circular(16)),
|
||||
width: 320,
|
||||
margin: const EdgeInsets.only(bottom: 150),
|
||||
child: Material(
|
||||
elevation: 2,
|
||||
shape: const RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.all(Radius.circular(10.0)),
|
||||
),
|
||||
child: ListTile(
|
||||
leading: SvgPicture.asset(_imagePaths.icNotConnection),
|
||||
title: Text(
|
||||
AppLocalizations.of(context).no_internet_connection,
|
||||
style: const TextStyle(fontSize: 15, color: Colors.black)),
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,6 @@ import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:tmail_ui_user/features/base/mixin/network_connection_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/prefix_email_address_extension.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/get_email_content_state.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/email_controller.dart';
|
||||
@@ -18,7 +17,7 @@ import 'package:tmail_ui_user/features/manage_account/presentation/extensions/va
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/widgets/vacation_notification_message_widget.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
class EmailView extends GetWidget<EmailController> with NetworkConnectionMixin {
|
||||
class EmailView extends GetWidget<EmailController> {
|
||||
|
||||
static const double maxSizeFullDisplayEmailAddressArrowDownButton = 30.0;
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@ import 'package:core/presentation/views/text/text_builder.dart';
|
||||
import 'package:core/presentation/views/text/text_field_builder.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:tmail_ui_user/features/base/mixin/network_connection_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/state/get_oidc_configuration_state.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/state/get_token_oidc_state.dart';
|
||||
import 'package:tmail_ui_user/features/login/presentation/login_controller.dart';
|
||||
@@ -15,7 +14,7 @@ import 'package:tmail_ui_user/features/login/presentation/widgets/login_input_de
|
||||
import 'package:tmail_ui_user/features/login/presentation/widgets/login_text_input_builder.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
abstract class BaseLoginView extends GetWidget<LoginController> with NetworkConnectionMixin {
|
||||
abstract class BaseLoginView extends GetWidget<LoginController> {
|
||||
BaseLoginView({Key? key}) : super(key: key);
|
||||
|
||||
final loginController = Get.find<LoginController>();
|
||||
@@ -72,14 +71,14 @@ abstract class BaseLoginView extends GetWidget<LoginController> with NetworkConn
|
||||
margin: const EdgeInsets.only(bottom: 16, left: 24, right: 24),
|
||||
width: responsiveUtils.getDeviceWidth(context),height: 48,
|
||||
child: AbsorbPointer(
|
||||
absorbing: !controller.isNetworkConnectionAvailable(),
|
||||
absorbing: !controller.networkConnectionController.isNetworkConnectionAvailable(),
|
||||
child: ElevatedButton(
|
||||
key: const Key('loginSubmitForm'),
|
||||
style: ButtonStyle(
|
||||
foregroundColor: MaterialStateProperty.resolveWith<Color>((Set<MaterialState> states) => Colors.white),
|
||||
backgroundColor: MaterialStateProperty.resolveWith<Color>(
|
||||
(Set<MaterialState> states) => AppColor.primaryColor.withOpacity(
|
||||
controller.isNetworkConnectionAvailable() ? 1 : 0.5)),
|
||||
controller.networkConnectionController.isNetworkConnectionAvailable() ? 1 : 0.5)),
|
||||
shape: MaterialStateProperty.all(RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
side: const BorderSide(width: 0, color: AppColor.primaryColor)
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||
import 'package:core/core.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
@@ -26,6 +23,7 @@ import 'package:tmail_ui_user/features/login/domain/usecases/get_token_oidc_inte
|
||||
import 'package:tmail_ui_user/features/login/presentation/login_form_type.dart';
|
||||
import 'package:tmail_ui_user/features/login/presentation/model/login_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/login/presentation/state/login_state.dart';
|
||||
import 'package:tmail_ui_user/features/network_status_handle/presentation/network_connnection_controller.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_config.dart';
|
||||
@@ -43,11 +41,9 @@ class LoginController extends BaseController {
|
||||
final GetAuthenticationInfoInteractor _getAuthenticationInfoInteractor;
|
||||
final GetStoredOidcConfigurationInteractor _getStoredOidcConfigurationInteractor;
|
||||
|
||||
final Connectivity _connectivity = Get.find<Connectivity>();
|
||||
|
||||
final TextEditingController urlInputController = TextEditingController();
|
||||
|
||||
late StreamSubscription _connectivityStreamSubscription;
|
||||
final NetworkConnectionController networkConnectionController = Get.find<NetworkConnectionController>();
|
||||
|
||||
LoginController(
|
||||
this._authenticationInteractor,
|
||||
@@ -88,12 +84,6 @@ class LoginController extends BaseController {
|
||||
? Password(password.trim())
|
||||
: null;
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
_registerNetworkConnectivityState();
|
||||
super.onInit();
|
||||
}
|
||||
|
||||
@override
|
||||
void onReady() {
|
||||
if (BuildUtils.isWeb) {
|
||||
@@ -337,18 +327,9 @@ class LoginController extends BaseController {
|
||||
setUrlText(urlInputController.text);
|
||||
}
|
||||
|
||||
void _registerNetworkConnectivityState() async {
|
||||
setNetworkConnectivityState(await _connectivity.checkConnectivity());
|
||||
_connectivityStreamSubscription = _connectivity.onConnectivityChanged.listen((ConnectivityResult result) {
|
||||
log('LoginController::_registerNetworkConnectivityState(): ConnectivityResult: ${result.name}');
|
||||
setNetworkConnectivityState(result);
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
urlInputController.clear();
|
||||
_connectivityStreamSubscription.cancel();
|
||||
super.onClose();
|
||||
}
|
||||
|
||||
|
||||
@@ -49,14 +49,6 @@ class LoginView extends BaseLoginView {
|
||||
),
|
||||
),
|
||||
),
|
||||
Obx(() {
|
||||
if (controller.isNetworkConnectionAvailable()) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
return Align(
|
||||
alignment: Alignment.bottomCenter,
|
||||
child: buildNetworkConnectionWidget(context));
|
||||
}),
|
||||
]));
|
||||
}
|
||||
|
||||
@@ -169,14 +161,14 @@ class LoginView extends BaseLoginView {
|
||||
margin: const EdgeInsets.only(bottom: 16, left: 24, right: 24),
|
||||
width: responsiveUtils.getDeviceWidth(context),height: 48,
|
||||
child: AbsorbPointer(
|
||||
absorbing: !controller.isNetworkConnectionAvailable(),
|
||||
absorbing: !controller.networkConnectionController.isNetworkConnectionAvailable(),
|
||||
child: ElevatedButton(
|
||||
key: const Key('nextToCredentialForm'),
|
||||
style: ButtonStyle(
|
||||
foregroundColor: MaterialStateProperty.resolveWith<Color>((Set<MaterialState> states) => Colors.white),
|
||||
backgroundColor: MaterialStateProperty.resolveWith<Color>(
|
||||
(Set<MaterialState> states) => AppColor.primaryColor.withOpacity(
|
||||
controller.isNetworkConnectionAvailable() ? 1 : 0.5)),
|
||||
controller.networkConnectionController.isNetworkConnectionAvailable() ? 1 : 0.5)),
|
||||
shape: MaterialStateProperty.all(RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
side: const BorderSide(width: 0, color: AppColor.primaryColor)
|
||||
|
||||
@@ -24,14 +24,6 @@ class LoginView extends BaseLoginView {
|
||||
desktop: _buildWebForm(context),
|
||||
)))
|
||||
),
|
||||
Obx(() {
|
||||
if (controller.isNetworkConnectionAvailable()) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
return Align(
|
||||
alignment: Alignment.bottomCenter,
|
||||
child: buildNetworkConnectionWidget(context));
|
||||
}),
|
||||
]),
|
||||
);
|
||||
}
|
||||
@@ -280,14 +272,14 @@ class LoginView extends BaseLoginView {
|
||||
margin: const EdgeInsets.only(bottom: 16, left: 24, right: 24),
|
||||
width: responsiveUtils.getDeviceWidth(context),height: 48,
|
||||
child: AbsorbPointer(
|
||||
absorbing: !controller.isNetworkConnectionAvailable(),
|
||||
absorbing: !controller.networkConnectionController.isNetworkConnectionAvailable(),
|
||||
child: ElevatedButton(
|
||||
key: const Key('ssoSubmitForm'),
|
||||
style: ButtonStyle(
|
||||
foregroundColor: MaterialStateProperty.resolveWith<Color>((Set<MaterialState> states) => Colors.white),
|
||||
backgroundColor: MaterialStateProperty.resolveWith<Color>(
|
||||
(Set<MaterialState> states) => AppColor.primaryColor.withOpacity(
|
||||
controller.isNetworkConnectionAvailable() ? 1 : 0.5)),
|
||||
controller.networkConnectionController.isNetworkConnectionAvailable() ? 1 : 0.5)),
|
||||
shape: MaterialStateProperty.all(RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
side: const BorderSide(width: 0, color: AppColor.primaryColor)
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
+2
-17
@@ -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(),
|
||||
]),
|
||||
),
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||
import 'package:core/core.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
class NetworkConnectionController extends BaseController {
|
||||
final connectivityResult = Rxn<ConnectivityResult>();
|
||||
final _imagePaths = Get.find<ImagePaths>();
|
||||
final Connectivity _connectivity;
|
||||
final AppToast _appToast = Get.find<AppToast>();
|
||||
final ResponsiveUtils _responsiveUtils = Get.find<ResponsiveUtils>();
|
||||
|
||||
bool _isEnableShowToastDisConnection = true;
|
||||
|
||||
late StreamSubscription<ConnectivityResult> subscription;
|
||||
|
||||
NetworkConnectionController(this._connectivity);
|
||||
@override
|
||||
void onReady() {
|
||||
subscription = _connectivity.onConnectivityChanged.listen((ConnectivityResult result) {
|
||||
connectivityResult.value = result;
|
||||
if (_isEnableShowToastDisConnection && result == ConnectivityResult.none) {
|
||||
_showToastLostConnection();
|
||||
}
|
||||
}) ;
|
||||
super.onReady();
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
subscription.cancel();
|
||||
super.onClose();
|
||||
}
|
||||
@override
|
||||
void onDone() {}
|
||||
|
||||
@override
|
||||
void onError(error) {}
|
||||
|
||||
void setNetworkConnectivityState(ConnectivityResult newConnectivityResult) {
|
||||
connectivityResult.value = newConnectivityResult;
|
||||
}
|
||||
|
||||
bool isNetworkConnectionAvailable() {
|
||||
return connectivityResult.value != ConnectivityResult.none;
|
||||
}
|
||||
|
||||
void _showToastLostConnection() {
|
||||
if (currentContext != null && currentOverlayContext != null) {
|
||||
_appToast.showBottomToast(
|
||||
currentOverlayContext!,
|
||||
AppLocalizations.of(currentContext!).no_internet_connection,
|
||||
actionName: AppLocalizations.of(currentContext!).skip,
|
||||
onActionClick: () {
|
||||
_isEnableShowToastDisConnection = false;
|
||||
ToastView.dismiss();
|
||||
},
|
||||
leadingIcon: SvgPicture.asset(
|
||||
_imagePaths.icNotConnection,
|
||||
width: 24,
|
||||
height: 24,
|
||||
fit: BoxFit.fill),
|
||||
backgroundColor: Colors.redAccent,
|
||||
textColor: Colors.white,
|
||||
textActionColor: Colors.white,
|
||||
maxWidth: _responsiveUtils.getMaxWidthToast(currentContext!),
|
||||
infinityToast: true,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"@@last_modified": "2022-10-12T16:44:35.025767",
|
||||
"@@last_modified": "2022-10-18T14:05:06.644786",
|
||||
"initializing_data": "Initializing data...",
|
||||
"@initializing_data": {
|
||||
"type": "text",
|
||||
@@ -664,6 +664,12 @@
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
},
|
||||
"skip": "Skip",
|
||||
"@skip": {
|
||||
"type": "text",
|
||||
"placeholders_order": [],
|
||||
"placeholders": {}
|
||||
},
|
||||
"hint_input_create_new_mailbox": "Enter name of mailbox",
|
||||
"@hint_input_create_new_mailbox": {
|
||||
"type": "text",
|
||||
|
||||
@@ -4,6 +4,7 @@ import 'package:tmail_ui_user/main/bindings/credential/credential_bindings.dart'
|
||||
import 'package:tmail_ui_user/main/bindings/local/local_bindings.dart';
|
||||
import 'package:tmail_ui_user/main/bindings/network/network_bindings.dart';
|
||||
import 'package:tmail_ui_user/main/bindings/network/network_isolate_binding.dart';
|
||||
import 'package:tmail_ui_user/main/bindings/network_connection/network_connection_bindings.dart';
|
||||
import 'package:tmail_ui_user/main/bindings/session/session_bindings.dart';
|
||||
|
||||
class MainBindings extends Bindings {
|
||||
@@ -14,6 +15,7 @@ class MainBindings extends Bindings {
|
||||
NetworkBindings().dependencies();
|
||||
NetworkIsolateBindings().dependencies();
|
||||
CredentialBindings().dependencies();
|
||||
NetWorkConnectionBindings().dependencies();
|
||||
SessionBindings().dependencies();
|
||||
}
|
||||
}
|
||||
@@ -25,9 +25,9 @@ class NetworkBindings extends Bindings {
|
||||
|
||||
@override
|
||||
void dependencies() {
|
||||
_bindingConnection();
|
||||
_bindingDio();
|
||||
_bindingApi();
|
||||
_bindingConnection();
|
||||
_bindingException();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
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';
|
||||
|
||||
class NetWorkConnectionBindings extends BaseBindings {
|
||||
|
||||
@override
|
||||
void bindingsController() {
|
||||
Get.put(NetworkConnectionController(Get.find<Connectivity>()));
|
||||
}
|
||||
|
||||
@override
|
||||
void bindingsDataSource() {
|
||||
}
|
||||
|
||||
@override
|
||||
void bindingsDataSourceImpl() {
|
||||
}
|
||||
|
||||
@override
|
||||
void bindingsInteractor() {
|
||||
}
|
||||
|
||||
@override
|
||||
void bindingsRepository() {
|
||||
}
|
||||
|
||||
@override
|
||||
void bindingsRepositoryImpl() {
|
||||
}
|
||||
}
|
||||
@@ -687,6 +687,13 @@ class AppLocalizations {
|
||||
);
|
||||
}
|
||||
|
||||
String get skip {
|
||||
return Intl.message(
|
||||
'Skip',
|
||||
name: 'skip'
|
||||
);
|
||||
}
|
||||
|
||||
String get hint_input_create_new_mailbox {
|
||||
return Intl.message(
|
||||
'Enter name of mailbox',
|
||||
|
||||
Reference in New Issue
Block a user