From 3abd3091ac6aa01b76bca5c6b17023d45fb084b8 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Fri, 3 May 2019 23:25:34 +0200 Subject: introduced type private_file_message to handle attachments in PMs --- .../messenger/services/NotificationService.java | 2 +- .../messenger/services/XmppConnectionService.java | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) (limited to 'src/main/java/de/pixart/messenger/services') diff --git a/src/main/java/de/pixart/messenger/services/NotificationService.java b/src/main/java/de/pixart/messenger/services/NotificationService.java index 40c848c66..27a33382d 100644 --- a/src/main/java/de/pixart/messenger/services/NotificationService.java +++ b/src/main/java/de/pixart/messenger/services/NotificationService.java @@ -876,7 +876,7 @@ public class NotificationService { return false; } final Matcher m = highlight.matcher(message.getBody()); - return (m.find() || message.getType() == Message.TYPE_PRIVATE); + return (m.find() || message.isPrivateMessage()); } else { return false; } diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index 5917cc725..d9be63dd7 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -505,9 +505,7 @@ public class XmppConnectionService extends Service { encryption = Message.ENCRYPTION_DECRYPTED; } Message message = new Message(conversation, uri.toString(), encryption); - if (conversation.getNextCounterpart() != null) { - message.setCounterpart(conversation.getNextCounterpart()); - } + Message.configurePrivateMessage(message); if (encryption == Message.ENCRYPTION_DECRYPTED) { getPgpEngine().encrypt(message, callback); } else { @@ -523,8 +521,12 @@ public class XmppConnectionService extends Service { } else { message = new Message(conversation, "", conversation.getNextEncryption()); } - message.setCounterpart(conversation.getNextCounterpart()); - message.setType(Message.TYPE_FILE); + if (!Message.configurePrivateFileMessage(message)) { + message.setCounterpart(conversation.getNextCounterpart()); + message.setType(Message.TYPE_FILE); + } + Log.d(Config.LOGTAG, "attachFile: type=" + message.getType()); + Log.d(Config.LOGTAG, "counterpart=" + message.getCounterpart()); final AttachFileToConversationRunnable runnable = new AttachFileToConversationRunnable(this, uri, type, message, callback); if (runnable.isVideoMessage()) { mVideoCompressionExecutor.execute(runnable); @@ -551,8 +553,11 @@ public class XmppConnectionService extends Service { } else { message = new Message(conversation, "", conversation.getNextEncryption()); } - message.setCounterpart(conversation.getNextCounterpart()); - message.setType(Message.TYPE_IMAGE); + if (!Message.configurePrivateFileMessage(message)) { + message.setCounterpart(conversation.getNextCounterpart()); + message.setType(Message.TYPE_IMAGE); + } + Log.d(Config.LOGTAG, "attachImage: type=" + message.getType()); mFileAddingExecutor.execute(() -> { try { getFileBackend().copyImageToPrivateStorage(message, uri); @@ -1618,7 +1623,7 @@ public class XmppConnectionService extends Service { } } - boolean mucMessage = conversation.getMode() == Conversation.MODE_MULTI && message.getType() != Message.TYPE_PRIVATE; + boolean mucMessage = conversation.getMode() == Conversation.MODE_MULTI && !message.isPrivateMessage(); if (mucMessage) { message.setCounterpart(conversation.getMucOptions().getSelf().getFullJid()); } @@ -1651,6 +1656,7 @@ public class XmppConnectionService extends Service { packet.addChild(ChatState.toElement(conversation.getOutgoingChatState())); } } + Log.d(Config.LOGTAG, packet.toString()); sendMessagePacket(account, packet); } } -- cgit v1.2.3