@@ -38,7 +38,6 @@ import com.infomaniak.mail.data.cache.RealmDatabase
38
38
import com.infomaniak.mail.data.cache.mailboxContent.DraftController
39
39
import com.infomaniak.mail.data.cache.mailboxContent.MessageController
40
40
import com.infomaniak.mail.data.cache.mailboxContent.ReplyForwardFooterManager
41
- import com.infomaniak.mail.data.cache.mailboxContent.SignatureController
42
41
import com.infomaniak.mail.data.cache.mailboxInfo.MailboxController
43
42
import com.infomaniak.mail.data.cache.userInfo.MergedContactController
44
43
import com.infomaniak.mail.data.models.Attachment
@@ -63,11 +62,8 @@ import com.infomaniak.mail.utils.*
63
62
import com.infomaniak.mail.utils.ContactUtils.arrangeMergedContacts
64
63
import com.infomaniak.mail.utils.JsoupParserUtil.jsoupParseWithLog
65
64
import com.infomaniak.mail.utils.Utils
65
+ import com.infomaniak.mail.utils.extensions.*
66
66
import com.infomaniak.mail.utils.extensions.AttachmentExtensions.findSpecificAttachment
67
- import com.infomaniak.mail.utils.extensions.appContext
68
- import com.infomaniak.mail.utils.extensions.htmlToText
69
- import com.infomaniak.mail.utils.extensions.isEmail
70
- import com.infomaniak.mail.utils.extensions.valueOrEmpty
71
67
import dagger.hilt.android.lifecycle.HiltViewModel
72
68
import io.realm.kotlin.MutableRealm
73
69
import io.realm.kotlin.Realm
@@ -206,7 +202,7 @@ class NewMessageViewModel @Inject constructor(
206
202
207
203
runCatching {
208
204
209
- signatures = SignatureController .getAllSignatures(realm)
205
+ signatures = currentMailbox.signatures
210
206
.also { signaturesCount = it.count() }
211
207
.toMutableList()
212
208
.apply { add(index = 0 , element = Signature .getDummySignature(appContext, email = currentMailbox.email)) }
@@ -216,7 +212,7 @@ class NewMessageViewModel @Inject constructor(
216
212
draft = if (isNewMessage) {
217
213
getNewDraft(signatures, intent, realm) ? : return @runCatching
218
214
} else {
219
- getExistingDraft(draftLocalUuid, realm ) ? : return @runCatching
215
+ getExistingDraft(draftLocalUuid) ? : return @runCatching
220
216
}
221
217
}.onFailure(Sentry ::captureException)
222
218
@@ -238,11 +234,11 @@ class NewMessageViewModel @Inject constructor(
238
234
emit(draft)
239
235
}
240
236
241
- private fun getExistingDraft (localUuid : String? , realm : Realm ): Draft ? {
237
+ private fun getExistingDraft (localUuid : String? ): Draft ? {
242
238
return getLocalOrRemoteDraft(localUuid)?.also { draft ->
243
239
saveNavArgsToSavedState(draft.localUuid)
244
240
if (draft.identityId.isNullOrBlank()) {
245
- draft.identityId = SignatureController .getDefaultSignatureWithFallback(realm, draftMode)? .id? .toString()
241
+ draft.identityId = currentMailbox .getDefaultSignatureWithFallback() .id.toString()
246
242
}
247
243
splitSignatureAndQuoteFromBody(draft)
248
244
}
@@ -274,7 +270,7 @@ class NewMessageViewModel @Inject constructor(
274
270
}
275
271
}
276
272
277
- val defaultSignature = SignatureController .getDefaultSignature(realm, draftMode)
273
+ val defaultSignature = signatures.getDefault( draftMode)
278
274
val shouldPreselectSignature = draftMode == DraftMode .REPLY || draftMode == DraftMode .REPLY_ALL
279
275
val signature = if (shouldPreselectSignature) {
280
276
defaultSignature ? : guessMostFittingSignature(previousMessage!! , signatures)
0 commit comments