Compare commits

...

1 Commits

Author SHA1 Message Date
sergey.vlasenko fb3365478a fix removeUnderline flags in getSpannedTextWithUrls 2024-04-18 16:51:28 +03:00
@@ -16,11 +16,11 @@ import ru.touchin.extensions.indexesOf
*/
fun String.getSpannedTextWithUrls(
removeUnderline: Boolean = true,
flags: Int = HtmlCompat.FROM_HTML_MODE_COMPACT
htmlFormatFlags: Int = HtmlCompat.FROM_HTML_MODE_COMPACT
): Spanned {
// HtmlCompat.fromHtml doesn't respect line breaks
val text = this.replace(lineBreakRegex, "<br/>")
val spannableText = SpannableString(HtmlCompat.fromHtml(text, flags))
val spannableText = SpannableString(HtmlCompat.fromHtml(text, htmlFormatFlags))
// Linkify removes all previous URLSpan's, we need to save all created spans for reapply after Linkify
val spans = spannableText.getUrlSpans()
@@ -29,7 +29,7 @@ fun String.getSpannedTextWithUrls(
spannableText.setSpan(it.span, it.start, it.end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
}
if (!removeUnderline) {
if (removeUnderline) {
spannableText.getUrlSpans()
.forEach { urlSpan ->
spannableText.removeSpan(urlSpan.span)