TF-501 [iOS] add Mail app to be Default mail
This commit is contained in:
@@ -11,7 +11,6 @@ import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||
import 'package:tmail_ui_user/features/caching/caching_manager.dart';
|
||||
import 'package:tmail_ui_user/features/caching/config/hive_cache_config.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_isolate_interceptors.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/state/get_credential_state.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/state/get_stored_token_oidc_state.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
|
||||
@@ -25,13 +24,14 @@ import 'package:tmail_ui_user/features/manage_account/domain/state/log_out_oidc_
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oidc_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/session/domain/state/get_session_state.dart';
|
||||
import 'package:tmail_ui_user/features/session/domain/usecases/get_session_interactor.dart';
|
||||
import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
abstract class ReloadableController extends BaseController {
|
||||
final DynamicUrlInterceptors _dynamicUrlInterceptors = Get.find<DynamicUrlInterceptors>();
|
||||
final AuthorizationInterceptors _authorizationInterceptors = Get.find<AuthorizationInterceptors>();
|
||||
final AuthorizationIsolateInterceptors _authorizationIsolateInterceptors = Get.find<AuthorizationIsolateInterceptors>();
|
||||
final AuthorizationInterceptors _authorizationIsolateInterceptors = Get.find<AuthorizationInterceptors>(tag: BindingTag.isolateTag);
|
||||
final GetSessionInteractor _getSessionInteractor = Get.find<GetSessionInteractor>();
|
||||
final DeleteCredentialInteractor _deleteCredentialInteractor = Get.find<DeleteCredentialInteractor>();
|
||||
final CachingManager _cachingManager = Get.find<CachingManager>();
|
||||
|
||||
@@ -65,7 +65,7 @@ class ComposerBindings extends BaseBindings {
|
||||
}
|
||||
|
||||
void _bindingsUtils() {
|
||||
Get.lazyPut(() => FileUploader(Get.find<DioClient>(tag: BindingTag.isoLateTag), Get.find<Executor>()));
|
||||
Get.lazyPut(() => FileUploader(Get.find<DioClient>(tag: BindingTag.isolateTag), Get.find<Executor>()));
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -19,7 +19,6 @@ import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache
|
||||
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/network/authentication_client/authentication_client_base.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_isolate_interceptors.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/repository/authentication_oidc_repository_impl.dart';
|
||||
@@ -33,6 +32,7 @@ import 'package:tmail_ui_user/features/login/domain/usecases/get_authenticated_a
|
||||
import 'package:tmail_ui_user/features/login/domain/usecases/get_credential_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/usecases/get_stored_token_oidc_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart';
|
||||
import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
|
||||
import 'package:tmail_ui_user/main/utils/email_receive_manager.dart';
|
||||
|
||||
class HomeBindings extends BaseBindings {
|
||||
@@ -43,7 +43,7 @@ class HomeBindings extends BaseBindings {
|
||||
Get.find<GetAuthenticatedAccountInteractor>(),
|
||||
Get.find<DynamicUrlInterceptors>(),
|
||||
Get.find<AuthorizationInterceptors>(),
|
||||
Get.find<AuthorizationIsolateInterceptors>(),
|
||||
Get.find<AuthorizationInterceptors>(tag: BindingTag.isolateTag),
|
||||
Get.find<CleanupEmailCacheInteractor>(),
|
||||
Get.find<EmailReceiveManager>(),
|
||||
Get.find<CleanupRecentSearchCacheInteractor>(),
|
||||
|
||||
@@ -12,7 +12,6 @@ import 'package:tmail_ui_user/features/cleanup/domain/model/recent_search_cleanu
|
||||
import 'package:tmail_ui_user/features/cleanup/domain/usecases/cleanup_email_cache_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/cleanup/domain/usecases/cleanup_recent_search_cache_interactor.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_isolate_interceptors.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/state/check_oidc_is_available_state.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/state/get_credential_state.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/state/get_stored_token_oidc_state.dart';
|
||||
@@ -31,7 +30,7 @@ class HomeController extends BaseController {
|
||||
final GetAuthenticatedAccountInteractor _getAuthenticatedAccountInteractor;
|
||||
final DynamicUrlInterceptors _dynamicUrlInterceptors;
|
||||
final AuthorizationInterceptors _authorizationInterceptors;
|
||||
final AuthorizationIsolateInterceptors _authorizationIsolateInterceptors;
|
||||
final AuthorizationInterceptors _authorizationIsolateInterceptors;
|
||||
final CleanupEmailCacheInteractor _cleanupEmailCacheInteractor;
|
||||
final EmailReceiveManager _emailReceiveManager;
|
||||
final CleanupRecentSearchCacheInteractor _cleanupRecentSearchCacheInteractor;
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:core/core.dart';
|
||||
import 'package:model/account/authentication_type.dart';
|
||||
import 'package:model/oidc/oidc_configuration.dart';
|
||||
import 'package:model/oidc/token.dart';
|
||||
|
||||
class AuthorizationIsolateInterceptors extends QueuedInterceptorsWrapper {
|
||||
|
||||
AuthenticationType _authenticationType = AuthenticationType.none;
|
||||
OIDCConfiguration? _configOIDC;
|
||||
Token? _token;
|
||||
String? _authorization;
|
||||
|
||||
void setBasicAuthorization(String? userName, String? password) {
|
||||
_authorization = base64Encode(utf8.encode('$userName:$password'));
|
||||
_authenticationType = AuthenticationType.basic;
|
||||
}
|
||||
|
||||
void setTokenAndAuthorityOidc({Token? newToken, OIDCConfiguration? newConfig}) {
|
||||
_token = newToken;
|
||||
_configOIDC = newConfig;
|
||||
_authenticationType = AuthenticationType.oidc;
|
||||
log('AuthorizationIsolateInterceptors::setToken(): newToken: $newToken');
|
||||
log('AuthorizationIsolateInterceptors::setToken(): tokenId: ${newToken?.tokenIdHash}');
|
||||
log('AuthorizationIsolateInterceptors::setToken(): EXPIRE_DATE: ${newToken?.expiredTime?.toIso8601String()}');
|
||||
}
|
||||
|
||||
OIDCConfiguration? get oidcConfig => _configOIDC;
|
||||
|
||||
AuthenticationType get authenticationType => _authenticationType;
|
||||
|
||||
@override
|
||||
void onRequest(RequestOptions options, RequestInterceptorHandler handler) {
|
||||
switch(_authenticationType) {
|
||||
case AuthenticationType.basic:
|
||||
if (_authorization != null) {
|
||||
options.headers[HttpHeaders.authorizationHeader] = _getAuthorizationAsBasicHeader(_authorization);
|
||||
}
|
||||
break;
|
||||
case AuthenticationType.oidc:
|
||||
if (_token != null && _token?.isTokenValid() == true) {
|
||||
options.headers[HttpHeaders.authorizationHeader] = _getTokenAsBearerHeader(_token!.token);
|
||||
}
|
||||
break;
|
||||
case AuthenticationType.none:
|
||||
break;
|
||||
}
|
||||
|
||||
super.onRequest(options, handler);
|
||||
}
|
||||
|
||||
String _getAuthorizationAsBasicHeader(String? authorization) => 'Basic $authorization';
|
||||
|
||||
String _getTokenAsBearerHeader(String token) => 'Bearer $token';
|
||||
|
||||
void clear() {
|
||||
_authorization = null;
|
||||
_token = null;
|
||||
_configOIDC = null;
|
||||
_authenticationType = AuthenticationType.none;
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,6 @@ import 'package:tmail_ui_user/features/login/data/local/oidc_configuration_cache
|
||||
import 'package:tmail_ui_user/features/login/data/local/token_oidc_cache_manager.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/network/authentication_client/authentication_client_base.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_isolate_interceptors.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/network/oidc_http_client.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/repository/account_repository_impl.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/repository/authentication_oidc_repository_impl.dart';
|
||||
@@ -31,6 +30,7 @@ import 'package:tmail_ui_user/features/login/domain/usecases/get_oidc_configurat
|
||||
import 'package:tmail_ui_user/features/login/domain/usecases/get_stored_oidc_configuration_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/usecases/get_token_oidc_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/login/presentation/login_controller.dart';
|
||||
import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
|
||||
|
||||
class LoginBindings extends BaseBindings {
|
||||
|
||||
@@ -40,7 +40,7 @@ class LoginBindings extends BaseBindings {
|
||||
Get.find<AuthenticationInteractor>(),
|
||||
Get.find<DynamicUrlInterceptors>(),
|
||||
Get.find<AuthorizationInterceptors>(),
|
||||
Get.find<AuthorizationIsolateInterceptors>(),
|
||||
Get.find<AuthorizationInterceptors>(tag: BindingTag.isolateTag),
|
||||
Get.find<CheckOIDCIsAvailableInteractor>(),
|
||||
Get.find<GetOIDCConfigurationInteractor>(),
|
||||
Get.find<GetTokenOIDCInteractor>(),
|
||||
|
||||
@@ -9,7 +9,6 @@ import 'package:get/get.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_isolate_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/authentication_user_state.dart';
|
||||
import 'package:tmail_ui_user/features/login/domain/state/check_oidc_is_available_state.dart';
|
||||
@@ -36,7 +35,7 @@ class LoginController extends BaseController {
|
||||
final AuthenticationInteractor _authenticationInteractor;
|
||||
final DynamicUrlInterceptors _dynamicUrlInterceptors;
|
||||
final AuthorizationInterceptors _authorizationInterceptors;
|
||||
final AuthorizationIsolateInterceptors _authorizationIsolateInterceptors;
|
||||
final AuthorizationInterceptors _authorizationIsolateInterceptors;
|
||||
final CheckOIDCIsAvailableInteractor _checkOIDCIsAvailableInteractor;
|
||||
final GetOIDCConfigurationInteractor _getOIDCConfigurationInteractor;
|
||||
final GetTokenOIDCInteractor _getTokenOIDCInteractor;
|
||||
|
||||
-2
@@ -59,7 +59,6 @@ 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/router_arguments.dart';
|
||||
import 'package:tmail_ui_user/main/utils/email_receive_manager.dart';
|
||||
import 'package:worker_manager/worker_manager.dart';
|
||||
|
||||
class MailboxDashBoardController extends ReloadableController {
|
||||
|
||||
@@ -644,7 +643,6 @@ class MailboxDashBoardController extends ReloadableController {
|
||||
_fileReceiveManagerStreamSubscription.cancel();
|
||||
_connectivityStreamSubscription.cancel();
|
||||
_progressStateController.close();
|
||||
Executor().dispose();
|
||||
Get.delete<DownloadController>();
|
||||
super.onClose();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user