Merge pull request #4770 from vector-im/feature/adm/emoji-27-and-below-crash

Fixing Android 8.1.1 / 27 and below emoji crash
This commit is contained in:
ganfra 2021-12-20 11:41:18 +01:00 committed by GitHub
commit 721bf4fbd1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 7 deletions

1
changelog.d/4769.bugfix Normal file
View file

@ -0,0 +1 @@
Fixing emoji related crashes on android 8.1.1 and below

View file

@ -16,7 +16,6 @@
package im.vector.app.features.html
import android.os.Build
import android.text.Spanned
import android.text.style.MetricAffectingSpan
import android.text.style.StrikethroughSpan
@ -41,13 +40,11 @@ class SpanUtils @Inject constructor(
)
}
// Workaround for https://issuetracker.google.com/issues/188454876
/**
* TextFutures do not support StrikethroughSpan, UnderlineSpan or MetricAffectingSpan
* Workaround for https://issuetracker.google.com/issues/188454876
*/
private fun canUseTextFuture(spanned: Spanned): Boolean {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
// On old devices, it works correctly
return true
}
return spanned
.getSpans(0, spanned.length, Any::class.java)
.all { it !is StrikethroughSpan && it !is UnderlineSpan && it !is MetricAffectingSpan }