From 21b1401fc42ba213e258d687d0df8b4ef1ac3b0f Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Mon, 23 Mar 2026 13:03:58 -0400 Subject: [PATCH] Update safety number tappable area. --- .../conversation/ConversationUpdateItem.java | 46 +++++++++++-------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java index c582744afd..a308df094d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationUpdateItem.java @@ -135,7 +135,13 @@ public final class ConversationUpdateItem extends FrameLayout this.background = findViewById(R.id.conversation_update_background); this.collapsedButton = findViewById(R.id.conversation_update_collapsed); - body.setOnClickListener(v -> performClick()); + body.setOnClickListener(v -> { + if ((messageRecord.isIdentityUpdate() || messageRecord.isIdentityDefault() || messageRecord.isIdentityVerified()) && batchSelected.isEmpty()) { + onSafetyNumberClicked(); + } else { + performClick(); + } + }); body.setOnLongClickListener(v -> performLongClick()); this.setOnClickListener(new InternalClickListener(null)); @@ -882,6 +888,24 @@ public final class ConversationUpdateItem extends FrameLayout } } + private void onSafetyNumberClicked() { + Recipient recipient = messageRecord.isIdentityUpdate() ? messageRecord.getFromRecipient() : messageRecord.getToRecipient(); + + IdentityUtil.getRemoteIdentityKey(getContext(), recipient).addListener(new ListenableFuture.Listener<>() { + @Override + public void onSuccess(Optional result) { + if (result.isPresent()) { + getContext().startActivity(VerifyIdentityActivity.newIntent(getContext(), result.get())); + } + } + + @Override + public void onFailure(ExecutionException e) { + Log.w(TAG, e); + } + }); + } + @Override public void setOnClickListener(View.OnClickListener l) { super.setOnClickListener(new InternalClickListener(l)); @@ -947,27 +971,9 @@ public final class ConversationUpdateItem extends FrameLayout if ((!messageRecord.isIdentityUpdate() && !messageRecord.isIdentityDefault() && !messageRecord.isIdentityVerified()) || - !batchSelected.isEmpty()) - { + !batchSelected.isEmpty()) { if (parent != null) parent.onClick(v); - return; } - - Recipient recipient = messageRecord.isIdentityUpdate() ? messageRecord.getFromRecipient() : messageRecord.getToRecipient(); - - IdentityUtil.getRemoteIdentityKey(getContext(), recipient).addListener(new ListenableFuture.Listener<>() { - @Override - public void onSuccess(Optional result) { - if (result.isPresent()) { - getContext().startActivity(VerifyIdentityActivity.newIntent(getContext(), result.get())); - } - } - - @Override - public void onFailure(ExecutionException e) { - Log.w(TAG, e); - } - }); } } }