Skip to content

Commit 00ef7c4

Browse files
committed
Centralize emptyBody instanciation
1 parent b301ac5 commit 00ef7c4

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

app/src/main/java/com/infomaniak/mail/data/models/draft/Draft.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import com.infomaniak.lib.core.utils.Utils.enumValueOfOrNull
2424
import com.infomaniak.mail.data.models.Attachment
2525
import com.infomaniak.mail.data.models.correspondent.Recipient
2626
import com.infomaniak.mail.ui.newMessage.BodyContentPayload
27-
import com.infomaniak.mail.ui.newMessage.BodyContentType
2827
import io.realm.kotlin.ext.realmListOf
2928
import io.realm.kotlin.serializers.RealmListKSerializer
3029
import io.realm.kotlin.types.RealmList
@@ -89,7 +88,7 @@ class Draft : RealmObject {
8988
//region UI data (Transient & Ignore)
9089
@Transient
9190
@Ignore
92-
var uiBody: BodyContentPayload = BodyContentPayload("", BodyContentType.TEXT_PLAIN_WITHOUT_HTML, isSanitized = true)
91+
var uiBody: BodyContentPayload = BodyContentPayload.emptyBody()
9392
@Transient
9493
@Ignore
9594
var uiSignature: String? = null

app/src/main/java/com/infomaniak/mail/ui/newMessage/BodyContentPayload.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ package com.infomaniak.mail.ui.newMessage
2424
* @param isSanitized Is only required and cannot be omitted when [type] is [BodyContentType.HTML]. This describes whether or not
2525
* the HTML can skip sanitization when we know it's already been sanitized earlier.
2626
*/
27-
data class BodyContentPayload(val content: String, val type: BodyContentType, val isSanitized: Boolean? = null)
27+
data class BodyContentPayload(val content: String, val type: BodyContentType, val isSanitized: Boolean? = null) {
28+
companion object {
29+
fun emptyBody(): BodyContentPayload {
30+
return BodyContentPayload("", BodyContentType.TEXT_PLAIN_WITHOUT_HTML)
31+
}
32+
}
33+
}
2834

2935
enum class BodyContentType { HTML, TEXT_PLAIN_WITH_HTML, TEXT_PLAIN_WITHOUT_HTML }

app/src/main/java/com/infomaniak/mail/ui/newMessage/NewMessageViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,7 @@ class NewMessageViewModel @Inject constructor(
598598

599599
val bodyContent: String? = mailToIntent?.body?.takeIf(String::isNotEmpty) ?: intent?.getStringExtra(Intent.EXTRA_TEXT)
600600
val mailToPayload = bodyContent?.let { BodyContentPayload(it, BodyContentType.TEXT_PLAIN_WITH_HTML) }
601-
uiBody = mailToPayload ?: BodyContentPayload("", BodyContentType.TEXT_PLAIN_WITHOUT_HTML)
601+
uiBody = mailToPayload ?: BodyContentPayload.emptyBody()
602602
}
603603
}
604604

0 commit comments

Comments
 (0)