diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageAdapter.kt index b9086710fb94c0c68ef21d670509ae15ba1f5775..4e84989f2d3faf5a3405f9df33224bee705aa789 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageAdapter.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageAdapter.kt @@ -141,10 +141,7 @@ class MessageAdapter( content.movementMethod = BetterLinkMovementMethod.getInstance() itemView.setOnClickListener(localClickListener) - content.setOnClickListener(localClickListener) - itemView.setOnLongClickListener(localLongClickListener) - content.setOnLongClickListener(localLongClickListener) } fun bind(message: FormattedMessage, selectable: Boolean = true, clickable: Boolean = true) { diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/RipplePassthroughTextView.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/RipplePassthroughTextView.kt new file mode 100644 index 0000000000000000000000000000000000000000..ad20d238d9eb13a083425082e696210da7ed4946 --- /dev/null +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/RipplePassthroughTextView.kt @@ -0,0 +1,19 @@ +package de.kuschku.quasseldroid.ui.chat.messages + +import android.content.Context +import android.text.Spannable +import android.util.AttributeSet +import android.view.MotionEvent +import android.widget.TextView + +class RipplePassthroughTextView : TextView { + 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 onTouchEvent(event: MotionEvent?): Boolean { + super.onTouchEvent(event) + return movementMethod?.onTouchEvent(this, text as? Spannable, event) == true + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/widget_chatmessage_action.xml b/app/src/main/res/layout/widget_chatmessage_action.xml index 3cb90f5c9d8ccf8147788d8186cad22dd972daae..ae14d6500c73f4399116a3169dd9fd8d52732fad 100644 --- a/app/src/main/res/layout/widget_chatmessage_action.xml +++ b/app/src/main/res/layout/widget_chatmessage_action.xml @@ -28,7 +28,7 @@ android:typeface="monospace" tools:text="@sample/messages.json/data/time" /> - <TextView + <de.kuschku.quasseldroid.ui.chat.messages.RipplePassthroughTextView android:id="@+id/content" android:layout_width="0dip" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/widget_chatmessage_daychange.xml b/app/src/main/res/layout/widget_chatmessage_daychange.xml index 9b5338654139249f7c0eeed19654e4508b9869fe..03f99f78d9d23064d57ab6881d2e11bb5184afa8 100644 --- a/app/src/main/res/layout/widget_chatmessage_daychange.xml +++ b/app/src/main/res/layout/widget_chatmessage_daychange.xml @@ -23,7 +23,7 @@ android:paddingStart="@dimen/message_horizontal" android:paddingTop="@dimen/message_vertical"> - <TextView + <de.kuschku.quasseldroid.ui.chat.messages.RipplePassthroughTextView android:id="@+id/content" android:layout_width="0dip" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/widget_chatmessage_error.xml b/app/src/main/res/layout/widget_chatmessage_error.xml index d1f1e2ec32ba30ec8ea4b728d92fc8a45ecbc380..2e84f028b3d5736c95ea623d39793ec349967067 100644 --- a/app/src/main/res/layout/widget_chatmessage_error.xml +++ b/app/src/main/res/layout/widget_chatmessage_error.xml @@ -28,7 +28,7 @@ android:typeface="monospace" tools:text="@sample/messages.json/data/time" /> - <TextView + <de.kuschku.quasseldroid.ui.chat.messages.RipplePassthroughTextView android:id="@+id/content" android:layout_width="0dip" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/widget_chatmessage_info.xml b/app/src/main/res/layout/widget_chatmessage_info.xml index 42182a387149d51ec26adf47923771e1a9f0c315..37e93194d5f9eed20ab969304221fa67e4acb024 100644 --- a/app/src/main/res/layout/widget_chatmessage_info.xml +++ b/app/src/main/res/layout/widget_chatmessage_info.xml @@ -28,7 +28,7 @@ android:textColor="?attr/colorForegroundSecondary" tools:text="@sample/messages.json/data/time" /> - <TextView + <de.kuschku.quasseldroid.ui.chat.messages.RipplePassthroughTextView android:id="@+id/content" android:layout_width="0dip" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/widget_chatmessage_notice.xml b/app/src/main/res/layout/widget_chatmessage_notice.xml index 87979a516fe0c2d64afa88abe2a172f02ff820c7..cc958e5342d7544cc80b673e2a35203c82250360 100644 --- a/app/src/main/res/layout/widget_chatmessage_notice.xml +++ b/app/src/main/res/layout/widget_chatmessage_notice.xml @@ -28,7 +28,7 @@ android:textColor="?attr/colorForegroundNotice" tools:text="@sample/messages.json/data/time" /> - <TextView + <de.kuschku.quasseldroid.ui.chat.messages.RipplePassthroughTextView android:id="@+id/content" android:layout_width="0dip" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/widget_chatmessage_plain.xml b/app/src/main/res/layout/widget_chatmessage_plain.xml index 451a8535e3407b8fddd2ff6582743f7c89fdb107..2c38ff54c9e965b8f32fb8af6a5ae1aff6051711 100644 --- a/app/src/main/res/layout/widget_chatmessage_plain.xml +++ b/app/src/main/res/layout/widget_chatmessage_plain.xml @@ -28,7 +28,7 @@ android:typeface="monospace" tools:text="@sample/messages.json/data/time" /> - <TextView + <de.kuschku.quasseldroid.ui.chat.messages.RipplePassthroughTextView android:id="@+id/content" android:layout_width="0dip" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/widget_chatmessage_server.xml b/app/src/main/res/layout/widget_chatmessage_server.xml index 7ab995cb83252a7786460729ad325ae8c9d91b5e..6f83feb9773fb599f4a9398d507bcf22561c6fba 100644 --- a/app/src/main/res/layout/widget_chatmessage_server.xml +++ b/app/src/main/res/layout/widget_chatmessage_server.xml @@ -28,7 +28,7 @@ android:typeface="monospace" tools:text="@sample/messages.json/data/time" /> - <TextView + <de.kuschku.quasseldroid.ui.chat.messages.RipplePassthroughTextView android:id="@+id/content" android:layout_width="0dip" android:layout_height="wrap_content"