From eabcc1f2f296e5ec1c7b24ddad981006d634be14 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 9 Jan 2023 13:26:04 -0500 Subject: [PATCH] Confirm before retracting message --- .../ui/ConversationFragment.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 2f55f3310c67ea4db3e4a22b6eea90e6f24404f2..42e095d786da861f10e8466c08803d036c699da1 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -1424,15 +1424,22 @@ public class ConversationFragment extends XmppFragment correctMessage(selectedMessage); return true; case R.id.retract_message: - Message message = selectedMessage; - while (message.mergeable(message.next())) { - message = message.next(); - } - message.setBody(" "); - message.putEdited(message.getUuid(), message.getServerMsgId()); - message.setServerMsgId(null); - message.setUuid(UUID.randomUUID().toString()); - sendMessage(message); + new AlertDialog.Builder(activity) + .setTitle(R.string.retract_message) + .setMessage("Do you really want to retract this message?") + .setPositiveButton(R.string.yes, (dialog, whichButton) -> { + Message message = selectedMessage; + while (message.mergeable(message.next())) { + message = message.next(); + } + message.setBody(" "); + message.putEdited(message.getUuid(), message.getServerMsgId()); + message.setServerMsgId(null); + message.setUuid(UUID.randomUUID().toString()); + sendMessage(message); + }) + .setNegativeButton(R.string.no, null).show(); + return true; case R.id.copy_message: ShareUtil.copyToClipboard(activity, selectedMessage); return true;