TF-783 Register listen onConnectivityChanged in login
This commit is contained in:
@@ -1,9 +1,13 @@
|
|||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||||
import 'package:core/core.dart';
|
import 'package:core/core.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:model/model.dart';
|
import 'package:model/model.dart';
|
||||||
|
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart';
|
import 'package:tmail_ui_user/features/login/data/network/config/authorization_interceptors.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/state/authenticate_oidc_on_browser_state.dart';
|
import 'package:tmail_ui_user/features/login/domain/state/authenticate_oidc_on_browser_state.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/state/authentication_user_state.dart';
|
import 'package:tmail_ui_user/features/login/domain/state/authentication_user_state.dart';
|
||||||
@@ -26,7 +30,7 @@ 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/routes/route_navigation.dart';
|
||||||
import 'package:tmail_ui_user/main/utils/app_config.dart';
|
import 'package:tmail_ui_user/main/utils/app_config.dart';
|
||||||
|
|
||||||
class LoginController extends GetxController {
|
class LoginController extends BaseController {
|
||||||
|
|
||||||
final AuthenticationInteractor _authenticationInteractor;
|
final AuthenticationInteractor _authenticationInteractor;
|
||||||
final DynamicUrlInterceptors _dynamicUrlInterceptors;
|
final DynamicUrlInterceptors _dynamicUrlInterceptors;
|
||||||
@@ -38,8 +42,12 @@ class LoginController extends GetxController {
|
|||||||
final GetAuthenticationInfoInteractor _getAuthenticationInfoInteractor;
|
final GetAuthenticationInfoInteractor _getAuthenticationInfoInteractor;
|
||||||
final GetStoredOidcConfigurationInteractor _getStoredOidcConfigurationInteractor;
|
final GetStoredOidcConfigurationInteractor _getStoredOidcConfigurationInteractor;
|
||||||
|
|
||||||
|
final Connectivity _connectivity = Get.find<Connectivity>();
|
||||||
|
|
||||||
final TextEditingController urlInputController = TextEditingController();
|
final TextEditingController urlInputController = TextEditingController();
|
||||||
|
|
||||||
|
late StreamSubscription _connectivityStreamSubscription;
|
||||||
|
|
||||||
LoginController(
|
LoginController(
|
||||||
this._authenticationInteractor,
|
this._authenticationInteractor,
|
||||||
this._dynamicUrlInterceptors,
|
this._dynamicUrlInterceptors,
|
||||||
@@ -78,6 +86,12 @@ class LoginController extends GetxController {
|
|||||||
? Password(password.trim())
|
? Password(password.trim())
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onInit() {
|
||||||
|
_registerNetworkConnectivityState();
|
||||||
|
super.onInit();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onReady() {
|
void onReady() {
|
||||||
if (BuildUtils.isWeb) {
|
if (BuildUtils.isWeb) {
|
||||||
@@ -317,9 +331,24 @@ class LoginController extends GetxController {
|
|||||||
setUrlText(urlInputController.text);
|
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
|
@override
|
||||||
void onClose() {
|
void onClose() {
|
||||||
urlInputController.clear();
|
urlInputController.clear();
|
||||||
|
_connectivityStreamSubscription.cancel();
|
||||||
super.onClose();
|
super.onClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onDone() {}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onError(error) {}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user