Skip to content

Commit a9d3645

Browse files
Enhance addAttachmentsBreadcrumb() code readability
1 parent 4f22aff commit a9d3645

File tree

1 file changed

+42
-13
lines changed

1 file changed

+42
-13
lines changed

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

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

112-
fun String.keyPad(): String = padStart(length = 15)
113112
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()
116113

117-
data[count() + "step".keyPad()] = step
118-
data[count() + "email".keyPad()] = AccountUtils.currentMailboxEmail.toString()
114+
fun addData(category: String, key: String = "", value: String) {
115+
data[count.countPad() + "." + category.padStart(length = 15) + key] = value
116+
count++
117+
}
118+
119+
fun addStepData(value: String) {
120+
addData(category = "step", value = value)
121+
}
122+
123+
fun addEmailData(value: String) {
124+
addData(category = "email", value = value)
125+
}
126+
127+
fun addDraftData(key: String, value: String) {
128+
addData(category = "draft", key = " - $key", value = value)
129+
}
119130

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 {
131+
fun addAttachmentsData(key: String, value: String) {
132+
addData(category = "attachments", key = " - $key", value = value)
133+
}
134+
135+
fun addAttachmentData(index: Int, value: String) {
136+
addData(category = "attachment #${(index + 1).countPad()}", value = value)
137+
}
138+
139+
addStepData(value = step)
140+
addEmailData(value = AccountUtils.currentMailboxEmail.toString())
141+
142+
addDraftData(key = "localUuid", value = localUuid)
143+
addDraftData(key = "remoteUuid", value = remoteUuid.toString())
144+
addDraftData(key = "action", value = action?.name.toString())
145+
146+
val draftMode = when {
124147
inReplyToUid != null -> "REPLY or REPLY_ALL"
125148
forwardedUid != null -> "FORWARD"
126149
else -> "NEW_MAIL"
127150
}
151+
addDraftData(key = "mode", value = draftMode)
128152

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

131155
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}"
156+
addAttachmentData(
157+
index = index,
158+
value = "localUuid: ${it.localUuid} | uuid: ${it.uuid} | uploadLocalUri: ${it.uploadLocalUri}",
159+
)
160+
addAttachmentData(
161+
index = index,
162+
value = "uploadStatus: ${it.uploadStatus.name} | size: ${it.size}",
163+
)
135164
}
136165

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

0 commit comments

Comments
 (0)