Fix `markupHiddenUrls` destructs original CharSequence

This commit is contained in:
kyori19 2022-11-12 23:13:15 +09:00
parent 189f436711
commit 61288dda6c
No known key found for this signature in database
GPG Key ID: F7BDE7DD42BF366A
2 changed files with 3 additions and 1 deletions

View File

@ -69,7 +69,7 @@ fun setClickableText(view: TextView, content: CharSequence, mentions: List<Menti
@VisibleForTesting
fun markupHiddenUrls(context: Context, content: CharSequence): SpannableStringBuilder {
val spannableContent = SpannableStringBuilder.valueOf(content)
val spannableContent = SpannableStringBuilder(content)
val originalSpans = spannableContent.getSpans(0, content.length, URLSpan::class.java)
val obscuredLinkSpans = originalSpans.filter {
val text = spannableContent.subSequence(spannableContent.getSpanStart(it), spannableContent.getSpanEnd(it))

View File

@ -165,10 +165,12 @@ class LinkHelperTest {
val maliciousUrl = "https://$maliciousDomain/to/go"
val content = SpannableStringBuilder()
content.append(displayedContent, URLSpan(maliciousUrl), 0)
val oldContent = content.toString()
Assert.assertEquals(
context.getString(R.string.url_domain_notifier, displayedContent, maliciousDomain),
markupHiddenUrls(context, content).toString()
)
Assert.assertEquals(oldContent, content.toString())
}
@Test