Skip to content

Commit dbb9471

Browse files
Merge pull request #1988 from Infomaniak/sentry-attchmnts
Enhance `addAttachmentsBreadcrumb()` code readability
2 parents 192d741 + 4dc932c commit dbb9471

File tree

1 file changed

+37
-16
lines changed

1 file changed

+37
-16
lines changed

app/src/main/java/com/infomaniak/mail/utils/SentryDebug.kt

+37-16
Original file line numberDiff line numberDiff line change
@@ -109,29 +109,50 @@ object SentryDebug {
109109
var count = 1
110110
val data = mutableMapOf<String, Any>()
111111

112-
fun String.keyPad(): String = padStart(length = 15)
113-
fun Int.countPad(): String = toString().padStart(length = 2, '0')
114-
fun count(): String = "${count.countPad().also { count++ }}."
115-
fun format(index: Int): String = (index + 1).countPad()
116-
117-
data[count() + "step".keyPad()] = step
118-
data[count() + "email".keyPad()] = AccountUtils.currentMailboxEmail.toString()
119-
120-
data[count() + "draft".keyPad() + " - localUuid"] = localUuid
121-
data[count() + "draft".keyPad() + " - remoteUuid"] = remoteUuid.toString()
122-
data[count() + "draft".keyPad() + " - action"] = action?.name.toString()
123-
data[count() + "draft".keyPad() + " - mode"] = when {
112+
fun Int.countPadding(): String = toString().padStart(length = 2, '0')
113+
114+
fun addData(category: String, key: String = "", value: String) {
115+
data[count.countPadding() + "." + category.padStart(length = 15) + key] = value
116+
count++
117+
}
118+
119+
fun addDraftData(key: String, value: String) {
120+
addData(category = "draft", key = " - $key", value = value)
121+
}
122+
123+
fun addAttachmentsData(key: String, value: String) {
124+
addData(category = "attachments", key = " - $key", value = value)
125+
}
126+
127+
fun addAttachmentData(index: Int, value: String) {
128+
addData(category = "attachment #${(index + 1).countPadding()}", value = value)
129+
}
130+
131+
addData(category = "step", value = step)
132+
addData(category = "email", value = AccountUtils.currentMailboxEmail.toString())
133+
134+
addDraftData(key = "localUuid", value = localUuid)
135+
addDraftData(key = "remoteUuid", value = remoteUuid.toString())
136+
addDraftData(key = "action", value = action?.name.toString())
137+
138+
val draftMode = when {
124139
inReplyToUid != null -> "REPLY or REPLY_ALL"
125140
forwardedUid != null -> "FORWARD"
126141
else -> "NEW_MAIL"
127142
}
143+
addDraftData(key = "mode", value = draftMode)
128144

129-
data[count() + "attachments".keyPad() + " - count"] = attachments.count()
145+
addAttachmentsData(key = "count", value = attachments.count().toString())
130146

131147
attachments.forEachIndexed { index, it ->
132-
data[count() + "attachment #${format(index)}".keyPad()] =
133-
"localUuid: ${it.localUuid} | uuid: ${it.uuid} | uploadLocalUri: ${it.uploadLocalUri}"
134-
data[count() + "attachment #${format(index)}".keyPad()] = "uploadStatus: ${it.uploadStatus.name} | size: ${it.size}"
148+
addAttachmentData(
149+
index = index,
150+
value = "localUuid: ${it.localUuid} | uuid: ${it.uuid} | uploadLocalUri: ${it.uploadLocalUri}",
151+
)
152+
addAttachmentData(
153+
index = index,
154+
value = "uploadStatus: ${it.uploadStatus.name} | size: ${it.size}",
155+
)
135156
}
136157

137158
addInfoBreadcrumb(category = "Attachments_Situation", data = data)

0 commit comments

Comments
 (0)