From a411437d53ae51f1433393baf3728054212dba7a Mon Sep 17 00:00:00 2001 From: SpiritCroc Date: Wed, 6 Sep 2023 11:08:05 +0200 Subject: [PATCH] Address another possible BetterLinkMovementMethod crash https://github.com/SchildiChat/SchildiChat-android-rageshakes/issues/1152 Well... it says it happened on longclick, but it doesn't say if it happened in SafeBetterLinkMovementMethod or EvenBetterLinkMovementMethod, but since we're not using it plain as far as I see, it should be one of these, and SafeBetterLinkMovementMethod has it already caught? Change-Id: Ifa171203b4e65a49a89121ddd2fb714d5bcb0d64 --- .../app/core/utils/EvenBetterLinkMovementMethod.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/vector/src/main/java/im/vector/app/core/utils/EvenBetterLinkMovementMethod.kt b/vector/src/main/java/im/vector/app/core/utils/EvenBetterLinkMovementMethod.kt index 978d607480..6a0d37e558 100644 --- a/vector/src/main/java/im/vector/app/core/utils/EvenBetterLinkMovementMethod.kt +++ b/vector/src/main/java/im/vector/app/core/utils/EvenBetterLinkMovementMethod.kt @@ -21,6 +21,7 @@ import android.text.style.ClickableSpan import android.text.style.URLSpan import android.widget.TextView import me.saket.bettermovementmethod.BetterLinkMovementMethod +import timber.log.Timber class EvenBetterLinkMovementMethod(private val onLinkClickListener: OnLinkClickListener? = null) : BetterLinkMovementMethod() { @@ -50,4 +51,12 @@ class EvenBetterLinkMovementMethod(private val onLinkClickListener: OnLinkClickL clickableSpan.onClick(textView) } } + + override fun dispatchUrlLongClick(textView: TextView?, clickableSpan: ClickableSpan?) { + try { + super.dispatchUrlLongClick(textView, clickableSpan) + } catch (e: StringIndexOutOfBoundsException) { + Timber.w("BetterLinkMovement dispatchUrlLongClick StringIndexOutOfBoundsException $e") + } + } }