From 381ce330178ee499be098280fb7b7319c4787a3c Mon Sep 17 00:00:00 2001 From: OneWay Date: Sat, 10 Oct 2026 01:12:48 +0800 Subject: [PATCH] fix(article): warm up large single-block articles The warm-up ran only above a block-count threshold, so an article that parses into one large block never qualified. Trigger on the total character count as well. --- .../com/example/research/ui/article/ArticleTextWarmUp.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/example/research/ui/article/ArticleTextWarmUp.kt b/app/src/main/java/com/example/research/ui/article/ArticleTextWarmUp.kt index 9e1cf5d..0ce08ff 100644 --- a/app/src/main/java/com/example/research/ui/article/ArticleTextWarmUp.kt +++ b/app/src/main/java/com/example/research/ui/article/ArticleTextWarmUp.kt @@ -13,11 +13,14 @@ import kotlinx.coroutines.currentCoroutineContext import kotlinx.coroutines.ensureActive internal const val HEAVY_ARTICLE_BLOCK_COUNT = 100 +internal const val HEAVY_ARTICLE_TOTAL_CHARS = 1_500 object ArticleTextWarmUp { suspend fun warmUp(context: Context, blocks: List) { - if (blocks.size <= HEAVY_ARTICLE_BLOCK_COUNT) return + if (blocks.size <= HEAVY_ARTICLE_BLOCK_COUNT && + blocks.sumOf { it.text.length } <= HEAVY_ARTICLE_TOTAL_CHARS + ) return val density = Density(context) val measurer = TextMeasurer( defaultFontFamilyResolver = createFontFamilyResolver(context),