From cd880b0879c175d4d47c0460b3f696e8d8c50aef Mon Sep 17 00:00:00 2001 From: mtang-signal Date: Thu, 2 May 2024 11:46:10 -0400 Subject: [PATCH] Expand double tap area. --- .../conversation/v2/ConversationAdapterV2.kt | 28 ++++++++++--------- .../V2ConversationItemTextOnlyViewHolder.kt | 1 + 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapterV2.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapterV2.kt index a2e2e62c4d..08f13e10a5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapterV2.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationAdapterV2.kt @@ -385,19 +385,6 @@ class ConversationAdapterV2( } private inner class OutgoingMediaViewHolder(itemView: View) : ConversationViewHolder(itemView) { - val gestureDetector = GestureDetector( - context, - object : SimpleOnGestureListener() { - override fun onDoubleTap(e: MotionEvent): Boolean { - if (clickListener != null) { - clickListener.onItemDoubleClick(getMultiselectPartForLatestTouch()) - return true - } - return false - } - } - ) - override fun bind(model: OutgoingMedia) { bindable.setEventListener(clickListener) bindable.setGestureDetector(gestureDetector) @@ -486,6 +473,19 @@ class ConversationAdapterV2( val bindable: BindableConversationItem get() = itemView as BindableConversationItem + val gestureDetector = GestureDetector( + context, + object : SimpleOnGestureListener() { + override fun onDoubleTap(e: MotionEvent): Boolean { + if (clickListener != null && selectedItems.isEmpty()) { + clickListener.onItemDoubleClick(getMultiselectPartForLatestTouch()) + return true + } + return false + } + } + ) + override val root: ViewGroup = bindable.root protected val previousMessage: Optional @@ -512,6 +512,8 @@ class ConversationAdapterV2( ) true } + + itemView.setOnTouchListener { _, event: MotionEvent -> gestureDetector.onTouchEvent(event) } } fun bindPayloadsIfAvailable(): Boolean { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt index 998ab89aa0..b07a0aaa09 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemTextOnlyViewHolder.kt @@ -155,6 +155,7 @@ open class V2ConversationItemTextOnlyViewHolder>( } binding.body.setOnTouchListener { _, event -> gestureDetector.onTouchEvent(event) } + binding.root.setOnTouchListener { _, event -> gestureDetector.onTouchEvent(event) } binding.root.setOnClickListener { onBubbleClicked() } binding.root.setOnLongClickListener { conversationContext.clickListener.onItemLongClick(binding.root, getMultiselectPartForLatestTouch())