@@ -21,8 +21,9 @@ import android.content.Context
21
21
import com.infomaniak.mail.data.models.message.Body
22
22
import com.infomaniak.mail.data.models.message.Message
23
23
import com.infomaniak.mail.data.models.message.SubBody
24
- import com.infomaniak.mail.utils.PrintHeaderUtils.createPrintHeader
25
24
import com.infomaniak.mail.utils.JsoupParserUtil.jsoupParseWithLog
25
+ import com.infomaniak.mail.utils.JsoupParserUtil.measureAndLogMemoryUsage
26
+ import com.infomaniak.mail.utils.PrintHeaderUtils.createPrintHeader
26
27
import io.sentry.Sentry
27
28
import io.sentry.SentryLevel
28
29
import kotlinx.coroutines.CoroutineScope
@@ -67,7 +68,13 @@ object MessageBodyUtils {
67
68
timeout = QUOTE_DETECTION_TIMEOUT ,
68
69
defaultValue = SplitBody (bodyContent),
69
70
block = {
70
- val (content, quotes) = splitContentAndQuotes(htmlDocument = jsoupParseWithLog(bodyContent))
71
+ // Do not nest jsoupParseWithLog and measureAndLogMemoryUsage so logs are independent from one another
72
+ val htmlDocument = jsoupParseWithLog(bodyContent)
73
+ val (content, quotes) = measureAndLogMemoryUsage(
74
+ tag = " Split signature and quote memory usage" ,
75
+ actionName = " splitting" ,
76
+ ) { splitContentAndQuotes(htmlDocument = htmlDocument) }
77
+
71
78
if (quotes.isEmpty() || quotes.all { it.isBlank() }) SplitBody (bodyContent) else SplitBody (content, bodyContent)
72
79
},
73
80
onTimeout = {
0 commit comments