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.os.Build
|
||||||
import android.text.Spanned
|
import android.text.Spanned
|
||||||
|
import android.text.style.MetricAffectingSpan
|
||||||
import android.text.style.StrikethroughSpan
|
import android.text.style.StrikethroughSpan
|
||||||
import android.text.style.UnderlineSpan
|
import android.text.style.UnderlineSpan
|
||||||
|
import androidx.emoji.text.EmojiCompat
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class SpanUtils @Inject constructor() {
|
class SpanUtils @Inject constructor() {
|
||||||
|
@ -30,12 +32,13 @@ class SpanUtils @Inject constructor() {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
if (charSequence !is Spanned) {
|
val emojiCharSequence = EmojiCompat.get().process(charSequence)
|
||||||
|
if (emojiCharSequence !is Spanned) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
return charSequence
|
return emojiCharSequence
|
||||||
.getSpans(0, charSequence.length, Any::class.java)
|
.getSpans(0, emojiCharSequence.length, Any::class.java)
|
||||||
.all { it !is StrikethroughSpan && it !is UnderlineSpan }
|
.all { it !is StrikethroughSpan && it !is UnderlineSpan && it !is MetricAffectingSpan }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue