Expand double tap touch area.

This commit is contained in:
mtang-signal 2024-04-30 16:29:33 -04:00 committed by GitHub
parent 5d15eef61d
commit 8c81e47737
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 16 additions and 14 deletions

View file

@ -385,19 +385,6 @@ class ConversationAdapterV2(
}
private inner class OutgoingMediaViewHolder(itemView: View) : ConversationViewHolder<OutgoingMedia>(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 = 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<MessageRecord>
@ -512,6 +512,8 @@ class ConversationAdapterV2(
)
true
}
itemView.setOnTouchListener { _, event: MotionEvent -> gestureDetector.onTouchEvent(event) }
}
fun bindPayloadsIfAvailable(): Boolean {

View file

@ -154,7 +154,7 @@ open class V2ConversationItemTextOnlyViewHolder<Model : MappingModel<Model>>(
)
}
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())