diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-07-09 22:58:50 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-07-09 22:58:50 +0200 |
commit | 4f612fc9bc50e8665c11cab59f502ace854a4a9f (patch) | |
tree | 04d83e80e610cba6ffb55da8ad2b1fe7b2d44c91 /src/main/java/de/pixart/messenger/ui/ConversationFragment.java | |
parent | 0a979ca94cbfdb81196e22aebe376afa35ed09b5 (diff) |
integrated locally message deletion from #208
thanks @acw81
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/ConversationFragment.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ConversationFragment.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java index efb342f4d..f32aa26ed 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java @@ -1299,6 +1299,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke MenuItem quoteMessage = menu.findItem(R.id.quote_message); MenuItem retryDecryption = menu.findItem(R.id.retry_decryption); MenuItem correctMessage = menu.findItem(R.id.correct_message); + MenuItem deleteMessage = menu.findItem(R.id.delete_message); MenuItem shareWith = menu.findItem(R.id.share_with); MenuItem sendAgain = menu.findItem(R.id.send_again); MenuItem copyUrl = menu.findItem(R.id.copy_url); @@ -1309,6 +1310,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke if (!m.isFileOrImage() && !encrypted && !m.isGeoUri() && !m.treatAsDownloadable()) { copyMessage.setVisible(true); quoteMessage.setVisible(MessageUtils.prepareQuote(m).length() > 0); + deleteMessage.setVisible(true); String body = m.getMergedBody().toString(); if (ShareUtil.containsXmppUri(body)) { copyLink.setTitle(R.string.copy_jabber_id); @@ -1397,6 +1399,9 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke case R.id.retry_decryption: retryDecryption(selectedMessage); return true; + case R.id.delete_message: + deleteMessage(selectedMessage); + return true; case R.id.delete_file: deleteFile(selectedMessage); return true; @@ -1847,6 +1852,13 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke builder.create().show(); } + private void deleteMessage(Message message) { + final Conversation conversation = (Conversation) message.getConversation(); + activity.xmppConnectionService.deleteMessage(conversation, message); + activity.onConversationsListItemUpdated(); + refresh(); + } + private void deleteFile(Message message) { if (activity.xmppConnectionService.getFileBackend().deleteFile(message)) { message.setTransferable(new TransferablePlaceholder(Transferable.STATUS_DELETED)); |