From 7cad4fbe077b38145c1f0653e111c1a1279e07a5 Mon Sep 17 00:00:00 2001 From: Koen J Date: Mon, 6 Oct 2025 12:58:02 +0200 Subject: [PATCH] Fixed crash in TextView drag drop. --- .../views/behavior/SafeTextView.kt | 25 +++++++++++++++++++ .../main/res/layout/overlay_description.xml | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/futo/platformplayer/views/behavior/SafeTextView.kt diff --git a/app/src/main/java/com/futo/platformplayer/views/behavior/SafeTextView.kt b/app/src/main/java/com/futo/platformplayer/views/behavior/SafeTextView.kt new file mode 100644 index 00000000..ea4b00c1 --- /dev/null +++ b/app/src/main/java/com/futo/platformplayer/views/behavior/SafeTextView.kt @@ -0,0 +1,25 @@ +package com.futo.platformplayer.views.behavior + +import android.content.Context +import android.util.AttributeSet +import androidx.appcompat.widget.AppCompatTextView +import com.futo.platformplayer.logging.Logger + +class SafeTextView : AppCompatTextView { + constructor(context: Context) : super(context) {} + constructor(context: Context, attrs: AttributeSet) : super(context, attrs) {} + constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {} + + override fun performLongClick(): Boolean { + try { + return super.performLongClick() + } catch (e: IllegalStateException) { + Logger.w(TAG, "Swallowed exception", e) + return false + } + } + + companion object { + private const val TAG = "SafeTextView" + } +} diff --git a/app/src/main/res/layout/overlay_description.xml b/app/src/main/res/layout/overlay_description.xml index c39abd4b..4241b39b 100644 --- a/app/src/main/res/layout/overlay_description.xml +++ b/app/src/main/res/layout/overlay_description.xml @@ -26,7 +26,7 @@ app:layout_constraintTop_toBottomOf="@id/topbar" app:layout_constraintBottom_toBottomOf="parent"> -