TF-3912 Thread Detail Fix real time update
This commit is contained in:
@@ -144,6 +144,8 @@ class GetEmailContentInteractor {
|
||||
emailCurrent: emailCache.copyWith(
|
||||
headers: detailedEmail.headers,
|
||||
sMimeStatusHeader: detailedEmail.sMimeStatusHeader,
|
||||
references: detailedEmail.references,
|
||||
messageId: detailedEmail.messageId,
|
||||
)
|
||||
));
|
||||
} catch (e) {
|
||||
@@ -183,6 +185,8 @@ class GetEmailContentInteractor {
|
||||
headers: detailedEmail.headers,
|
||||
sMimeStatusHeader: detailedEmail.sMimeStatusHeader,
|
||||
identityHeader: detailedEmail.identityHeader,
|
||||
references: detailedEmail.references,
|
||||
messageId: detailedEmail.messageId,
|
||||
)
|
||||
));
|
||||
} catch (e) {
|
||||
|
||||
+1
@@ -33,6 +33,7 @@ class SettingFirstLevelAppBar extends StatelessWidget {
|
||||
PositionedDirectional(
|
||||
start: 0,
|
||||
child: TMailButtonWidget.fromIcon(
|
||||
key: const ValueKey('settings_first_level_close_button'),
|
||||
icon: imagePaths.icArrowBack,
|
||||
tooltipMessage: appLocalizations.back,
|
||||
backgroundColor: Colors.transparent,
|
||||
|
||||
@@ -72,6 +72,7 @@ class SettingsFirstLevelView extends GetWidget<SettingsController> {
|
||||
if (controller.manageAccountDashboardController.isServerSettingsCapabilitySupported) {
|
||||
return Column(children: [
|
||||
SettingFirstLevelTileBuilder(
|
||||
key: const ValueKey('setting_preferences'),
|
||||
AccountMenuItem.preferences.getName(AppLocalizations.of(context)),
|
||||
AccountMenuItem.preferences.getIcon(controller.imagePaths),
|
||||
subtitle: AppLocalizations.of(context).emailReadReceiptsSettingExplanation,
|
||||
|
||||
@@ -37,6 +37,7 @@ class UniversalSettingAppBar extends StatelessWidget {
|
||||
PositionedDirectional(
|
||||
start: 24,
|
||||
child: TMailButtonWidget.fromIcon(
|
||||
key: const ValueKey('settings_close_button'),
|
||||
icon: imagePaths.icClose,
|
||||
iconSize: 28,
|
||||
padding: const EdgeInsets.all(5),
|
||||
|
||||
@@ -59,11 +59,17 @@ class SettingOptionItem extends StatelessWidget {
|
||||
Row(
|
||||
children: [
|
||||
InkWell(
|
||||
key: ValueKey(optionType.getTitle(appLocalizations)),
|
||||
onTap: () => onTapSettingOptionAction(
|
||||
optionType,
|
||||
optionType.isEnabled(settingOption, localSettings),
|
||||
),
|
||||
child: SvgPicture.asset(
|
||||
key: ValueKey(
|
||||
optionType.isEnabled(settingOption, localSettings)
|
||||
? 'setting_option_switch_on'
|
||||
: 'setting_option_switch_off',
|
||||
),
|
||||
optionType.isEnabled(settingOption, localSettings)
|
||||
? imagePaths.icSwitchOn
|
||||
: imagePaths.icSwitchOff,
|
||||
|
||||
+9
-6
@@ -104,11 +104,14 @@ extension HandleRefreshThreadDetailAction on ThreadDetailController {
|
||||
Email email,
|
||||
ThreadId currentThreadId,
|
||||
) {
|
||||
return email.threadId == currentThreadId &&
|
||||
sentMailboxId != null &&
|
||||
!email.inSentMailbox(sentMailboxId!) &&
|
||||
ownEmailAddress != null &&
|
||||
!email.fromMe(ownEmailAddress!) &&
|
||||
!email.recipientsHasMe(ownEmailAddress!);
|
||||
if (email.threadId != currentThreadId) return false;
|
||||
|
||||
if (sentMailboxId != null && !email.inSentMailbox(sentMailboxId!)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return ownEmailAddress != null &&
|
||||
(!email.fromMe(ownEmailAddress!) ||
|
||||
!email.recipientsHasMe(ownEmailAddress!));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user