TF-1042:Connection pop up never be disappear
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user