TF-2464 Save both EmailDelivery and EmailState in the keychain
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit a37fe7ea8bcc38eb96df39f46128c9e1f7af046e)
This commit is contained in:
@@ -36,7 +36,7 @@ class StateDataSourceImpl extends StateDataSource {
|
||||
if (PlatformInfo.isIOS && stateCache.type == StateType.email) {
|
||||
final emailDeliveryStateKeychain = await _iosSharingManager.getEmailDeliveryStateFromKeychain(accountId);
|
||||
if (emailDeliveryStateKeychain == null || emailDeliveryStateKeychain.isEmpty) {
|
||||
await _iosSharingManager.updateEmailDeliveryStateInKeyChain(accountId, stateCache.state);
|
||||
await _iosSharingManager.updateEmailStateInKeyChain(accountId, stateCache.state);
|
||||
}
|
||||
}
|
||||
return Future.value(null);
|
||||
|
||||
+3
-2
@@ -3,13 +3,14 @@ import 'package:tmail_ui_user/features/push_notification/data/keychain/keychain_
|
||||
|
||||
extension KeychainSharingSessionExtension on KeychainSharingSession {
|
||||
|
||||
KeychainSharingSession updating({String? emailDeliveryState}) {
|
||||
KeychainSharingSession updating({String? emailState, String? emailDeliveryState}) {
|
||||
return KeychainSharingSession(
|
||||
accountId: accountId,
|
||||
userName: userName,
|
||||
authenticationType: authenticationType,
|
||||
apiUrl: apiUrl,
|
||||
emailState: emailDeliveryState ?? emailDeliveryState,
|
||||
emailState: emailState ?? emailState,
|
||||
emailDeliveryState: emailDeliveryState ?? emailDeliveryState,
|
||||
tokenOIDC: tokenOIDC,
|
||||
basicAuth: basicAuth,
|
||||
tokenEndpoint: tokenEndpoint,
|
||||
|
||||
@@ -18,6 +18,7 @@ class KeychainSharingSession with EquatableMixin {
|
||||
AuthenticationType authenticationType;
|
||||
String apiUrl;
|
||||
String? emailState;
|
||||
String? emailDeliveryState;
|
||||
TokenOIDC? tokenOIDC;
|
||||
String? basicAuth;
|
||||
String? tokenEndpoint;
|
||||
@@ -29,6 +30,7 @@ class KeychainSharingSession with EquatableMixin {
|
||||
required this.authenticationType,
|
||||
required this.apiUrl,
|
||||
this.emailState,
|
||||
this.emailDeliveryState,
|
||||
this.tokenOIDC,
|
||||
this.basicAuth,
|
||||
this.tokenEndpoint,
|
||||
@@ -46,6 +48,7 @@ class KeychainSharingSession with EquatableMixin {
|
||||
authenticationType,
|
||||
apiUrl,
|
||||
emailState,
|
||||
emailDeliveryState,
|
||||
tokenOIDC,
|
||||
basicAuth,
|
||||
tokenEndpoint,
|
||||
|
||||
@@ -333,10 +333,6 @@ class EmailChangeListener extends ChangeListener {
|
||||
if (_iosSharingManager == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final emailDeliveryStateKeychain = await _iosSharingManager!.getEmailDeliveryStateFromKeychain(accountId);
|
||||
if (emailDeliveryStateKeychain == null || emailDeliveryStateKeychain.isEmpty) {
|
||||
await _iosSharingManager!.updateEmailDeliveryStateInKeyChain(accountId, emailDeliveryState);
|
||||
}
|
||||
await _iosSharingManager!.updateEmailDeliveryStateInKeyChain(accountId, emailDeliveryState);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user