From 10951a11b3d79bd8735dc2bc9858d62fb93d104d Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz Date: Wed, 5 Aug 2026 20:09:30 +0200 Subject: [PATCH 1/3] fix(android): stripped inline styles inside inline code --- .../enriched/common/spans/EnrichedInlineCodeSpan.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedInlineCodeSpan.kt b/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedInlineCodeSpan.kt index a7461cf24..662092728 100644 --- a/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedInlineCodeSpan.kt +++ b/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedInlineCodeSpan.kt @@ -11,14 +11,21 @@ open class EnrichedInlineCodeSpan( ) : MetricAffectingSpan(), EnrichedInlineSpan { override fun updateDrawState(textPaint: TextPaint) { - val typeface = Typeface.create(Typeface.MONOSPACE, Typeface.NORMAL) - textPaint.typeface = typeface + applyMonospace(textPaint) textPaint.color = enrichedStyle.inlineCodeColor textPaint.bgColor = enrichedStyle.inlineCodeBackgroundColor } override fun updateMeasureState(textPaint: TextPaint) { - val typeface = Typeface.create(Typeface.MONOSPACE, Typeface.NORMAL) + applyMonospace(textPaint) + } + + // When switching to a monospace font, we need to remember + // and apply other current styles, as bold or italic + private fun applyMonospace(textPaint: TextPaint) { + val currentStyle = textPaint.typeface?.style ?: Typeface.NORMAL + val typeface = Typeface.create(Typeface.MONOSPACE, currentStyle) + textPaint.typeface = typeface } } From 7aa6c30bbb83285f795c01052dc105931b3bf601 Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz Date: Wed, 5 Aug 2026 21:48:24 +0200 Subject: [PATCH 2/3] fix(android): inline style merging --- .../com/swmansion/enriched/textinput/styles/InlineStyles.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/main/java/com/swmansion/enriched/textinput/styles/InlineStyles.kt b/android/src/main/java/com/swmansion/enriched/textinput/styles/InlineStyles.kt index fd024b884..dc8d346a9 100644 --- a/android/src/main/java/com/swmansion/enriched/textinput/styles/InlineStyles.kt +++ b/android/src/main/java/com/swmansion/enriched/textinput/styles/InlineStyles.kt @@ -18,7 +18,7 @@ class InlineStyles( ) { val previousSpanStart = (start - 1).coerceAtLeast(0) val previousSpanEnd = previousSpanStart + 1 - val nextSpanStart = (end + 1).coerceAtMost(spannable.length) + val nextSpanStart = end.coerceAtMost(spannable.length) val nextSpanEnd = (nextSpanStart + 1).coerceAtMost(spannable.length) val previousSpans = spannable.getSpans(previousSpanStart, previousSpanEnd, type) val nextSpans = spannable.getSpans(nextSpanStart, nextSpanEnd, type) From 0cebefc4cc8ce67b5ec4451b89863ce839c94b5d Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz <146986839+hejsztynx@users.noreply.github.com> Date: Wed, 5 Aug 2026 22:15:58 +0200 Subject: [PATCH 3/3] refactor: grammar Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../swmansion/enriched/common/spans/EnrichedInlineCodeSpan.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedInlineCodeSpan.kt b/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedInlineCodeSpan.kt index 662092728..e39fc08f5 100644 --- a/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedInlineCodeSpan.kt +++ b/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedInlineCodeSpan.kt @@ -21,7 +21,7 @@ open class EnrichedInlineCodeSpan( } // When switching to a monospace font, we need to remember - // and apply other current styles, as bold or italic + // and apply other current styles, such as bold or italic. private fun applyMonospace(textPaint: TextPaint) { val currentStyle = textPaint.typeface?.style ?: Typeface.NORMAL val typeface = Typeface.create(Typeface.MONOSPACE, currentStyle)