mirror of
https://github.com/element-hq/element-android
synced 2024-10-25 04:06:50 +03:00
Fix crash when using TextFuture with MetricAffectingSpan added by EmojiCompat (#4691)
This commit is contained in:
parent
406881c8a7
commit
b701bb7c1a
1 changed files with 7 additions and 4 deletions
|
@ -18,8 +18,10 @@ package im.vector.app.features.html
|
|||
|
||||
import android.os.Build
|
||||
import android.text.Spanned
|
||||
import android.text.style.MetricAffectingSpan
|
||||
import android.text.style.StrikethroughSpan
|
||||
import android.text.style.UnderlineSpan
|
||||
import androidx.emoji.text.EmojiCompat
|
||||
import javax.inject.Inject
|
||||
|
||||
class SpanUtils @Inject constructor() {
|
||||
|
@ -30,12 +32,13 @@ class SpanUtils @Inject constructor() {
|
|||
return true
|
||||
}
|
||||
|
||||
if (charSequence !is Spanned) {
|
||||
val emojiCharSequence = EmojiCompat.get().process(charSequence)
|
||||
if (emojiCharSequence !is Spanned) {
|
||||
return true
|
||||
}
|
||||
|
||||
return charSequence
|
||||
.getSpans(0, charSequence.length, Any::class.java)
|
||||
.all { it !is StrikethroughSpan && it !is UnderlineSpan }
|
||||
return emojiCharSequence
|
||||
.getSpans(0, emojiCharSequence.length, Any::class.java)
|
||||
.all { it !is StrikethroughSpan && it !is UnderlineSpan && it !is MetricAffectingSpan }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue