@@ -50,27 +50,40 @@ class NewMessageExternalsManager @Inject constructor() : NewMessageManager() {
50
50
fun observeExternals (arrivedFromExistingDraft : Boolean ) = with (newMessageViewModel) {
51
51
Utils .waitInitMediator(initResult, mergedContacts).observe(viewLifecycleOwner) { (_, mergedContacts) ->
52
52
val externalMailFlagEnabled = currentMailbox.externalMailFlagEnabled
53
+ val trustedDomains = currentMailbox.trustedDomains
53
54
val shouldWarnForExternal = externalMailFlagEnabled && ! arrivedFromExistingDraft
54
55
val emailDictionary = mergedContacts.second
55
56
val aliases = currentMailbox.aliases
56
57
57
- updateFields(shouldWarnForExternal, emailDictionary, aliases)
58
- updateBanner(shouldWarnForExternal, emailDictionary, aliases)
58
+ updateFields(shouldWarnForExternal, emailDictionary, aliases, trustedDomains )
59
+ updateBanner(shouldWarnForExternal, emailDictionary, aliases, trustedDomains )
59
60
}
60
61
}
61
62
62
- private fun updateFields (shouldWarnForExternal : Boolean , emailDictionary : MergedContactDictionary , aliases : List <String >) {
63
+ private fun updateFields (
64
+ shouldWarnForExternal : Boolean ,
65
+ emailDictionary : MergedContactDictionary ,
66
+ aliases : List <String >,
67
+ trustedDomains : List <String >,
68
+ ) {
63
69
with (binding) {
64
- toField.updateExternals(shouldWarnForExternal, emailDictionary, aliases)
65
- ccField.updateExternals(shouldWarnForExternal, emailDictionary, aliases)
66
- bccField.updateExternals(shouldWarnForExternal, emailDictionary, aliases)
70
+ toField.updateExternals(shouldWarnForExternal, emailDictionary, aliases, trustedDomains )
71
+ ccField.updateExternals(shouldWarnForExternal, emailDictionary, aliases, trustedDomains )
72
+ bccField.updateExternals(shouldWarnForExternal, emailDictionary, aliases, trustedDomains )
67
73
}
68
74
}
69
75
70
- private fun updateBanner (shouldWarnForExternal : Boolean , emailDictionary : MergedContactDictionary , aliases : List <String >) {
76
+ private fun updateBanner (
77
+ shouldWarnForExternal : Boolean ,
78
+ emailDictionary : MergedContactDictionary ,
79
+ aliases : List <String >,
80
+ trustedDomains : List <String >,
81
+ ) {
71
82
with (newMessageViewModel) {
72
83
if (shouldWarnForExternal && ! isExternalBannerManuallyClosed) {
73
- val (externalEmail, externalQuantity) = draft.findExternalRecipientForNewMessage(aliases, emailDictionary)
84
+ val (externalEmail, externalQuantity) = draft.findExternalRecipientForNewMessage(
85
+ aliases, emailDictionary, trustedDomains,
86
+ )
74
87
externalRecipientCount.value = externalEmail to externalQuantity
75
88
}
76
89
}
0 commit comments