From 2928cadbbca7ad872ac7ab2279ec5b3ba6a50004 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 11 Sep 2023 09:41:49 -0500 Subject: [PATCH] Treat touch-up as click --- .../conversations/ui/adapter/MessageAdapter.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java index dc3c7b74f3e3828dc0fdfbb0d809e56b320fa0ef..09ae3adb0c019c3d5a41b267095cf159861046aa 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -1020,9 +1020,23 @@ public class MessageAdapter extends ArrayAdapter { } }); viewHolder.message_box.setOnTouchListener(swipeDetector); - viewHolder.messageBody.setOnTouchListener(swipeDetector); viewHolder.image.setOnTouchListener(swipeDetector); viewHolder.time.setOnTouchListener(swipeDetector); + + // Treat touch-up as click so we don't have to touch twice + // (touch twice is because it's waiting to see if you double-touch for text selection) + viewHolder.messageBody.setOnTouchListener((v, event) -> { + if (event.getAction() == MotionEvent.ACTION_UP) { + if (MessageAdapter.this.mOnMessageBoxClickedListener != null) { + MessageAdapter.this.mOnMessageBoxClickedListener + .onContactPictureClicked(message); + } + } + + swipeDetector.onTouch(v, event); + + return false; + }); viewHolder.messageBody.setOnClickListener(v -> { if (MessageAdapter.this.mOnMessageBoxClickedListener != null) { MessageAdapter.this.mOnMessageBoxClickedListener