diff --git a/changelog.d/4742.bugfix b/changelog.d/4742.bugfix new file mode 100644 index 0000000000..ba4f32acf7 --- /dev/null +++ b/changelog.d/4742.bugfix @@ -0,0 +1 @@ +Fix app crash uppon long press on a reply event diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/tools/EventRenderingTools.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/tools/EventRenderingTools.kt index 1e8a81ff61..3226b56c24 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/tools/EventRenderingTools.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/tools/EventRenderingTools.kt @@ -16,6 +16,7 @@ package im.vector.app.features.home.room.detail.timeline.tools +import android.text.SpannableStringBuilder import android.text.style.ClickableSpan import android.view.MotionEvent import android.widget.TextView @@ -44,7 +45,8 @@ fun CharSequence.findPillsAndProcess(scope: CoroutineScope, processBlock: (PillI fun CharSequence.linkify(callback: TimelineEventController.UrlClickCallback?): CharSequence { val text = this.toString() - val spannable = toSpannable() + // SpannableStringBuilder is used to avoid Epoxy throwing ImmutableModelException + val spannable = SpannableStringBuilder(this) MatrixLinkify.addLinks(spannable, object : MatrixPermalinkSpan.Callback { override fun onUrlClicked(url: String) { callback?.onUrlClicked(url, text)