From d5d16066ce2855151631c418eb880f5bea5458ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20=C5=BB=C3=B3=C5=82kiewski?= Date: Fri, 3 Jul 2026 10:32:48 +0200 Subject: [PATCH 1/2] fix(android): removing inline styles --- .../enriched/textinput/styles/InlineStyles.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 802f78f1b..fd024b884 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 @@ -223,7 +223,18 @@ class InlineStyles( if (spans.isEmpty()) return false for (span in spans) { + val spanStart = spannable.getSpanStart(span) + val spanEnd = spannable.getSpanEnd(span) + spannable.removeSpan(span) + + if (spanStart < start) { + setSpan(spannable, config.clazz, spanStart, start - 1) + } + + if (spanEnd > end) { + setSpan(spannable, config.clazz, end, spanEnd) + } } return true From 1679f66341bbf71bff03dbce97427049dd3f6313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20=C5=BB=C3=B3=C5=82kiewski?= Date: Tue, 7 Jul 2026 08:33:22 +0200 Subject: [PATCH 2/2] test: add e2e test for inline styles removal --- .../flows/inline_styles_removal.yaml | 31 ++++++++++++++++++ .../android/inline_styles_removal.png | Bin 0 -> 9177 bytes .../screenshots/ios/inline_styles_removal.png | Bin 0 -> 11203 bytes 3 files changed, 31 insertions(+) create mode 100644 .maestro/enrichedInput/flows/inline_styles_removal.yaml create mode 100644 .maestro/enrichedInput/screenshots/android/inline_styles_removal.png create mode 100644 .maestro/enrichedInput/screenshots/ios/inline_styles_removal.png diff --git a/.maestro/enrichedInput/flows/inline_styles_removal.yaml b/.maestro/enrichedInput/flows/inline_styles_removal.yaml new file mode 100644 index 000000000..58faf1d2f --- /dev/null +++ b/.maestro/enrichedInput/flows/inline_styles_removal.yaml @@ -0,0 +1,31 @@ +appId: swmansion.enriched.example +--- +# PR #672 - fix: removing inline styles +- launchApp + +- tapOn: + id: 'toggle-screen-button' + +- tapOn: + id: 'editor-input' + +- tapOn: + id: 'toolbar-bold' +- tapOn: + id: 'toolbar-italic' +- tapOn: + id: 'toolbar-underline' +- tapOn: + id: 'toolbar-strikethrough' + +- inputText: 'First line' +- pressKey: Enter +- inputText: 'Second line' + +- tapOn: + id: 'toolbar-code-block' + +- runFlow: + file: '../subflows/capture_or_assert_screenshot.yaml' + env: + SCREENSHOT_NAME: 'inline_styles_removal' diff --git a/.maestro/enrichedInput/screenshots/android/inline_styles_removal.png b/.maestro/enrichedInput/screenshots/android/inline_styles_removal.png new file mode 100644 index 0000000000000000000000000000000000000000..731ac2b2a02f05fe75aa907e82d84100cac0a4e6 GIT binary patch literal 9177 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 literal 0 HcmV?d00001 diff --git a/.maestro/enrichedInput/screenshots/ios/inline_styles_removal.png b/.maestro/enrichedInput/screenshots/ios/inline_styles_removal.png new file mode 100644 index 0000000000000000000000000000000000000000..a7b19f9c846b1315de01ae0d6c7970ab6cba5f3b GIT binary patch literal 11203 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

dw!XjCtYCyBFL!pP+{VJM+`SU$#l7o$ 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 literal 0 HcmV?d00001