From b0780224b5bdd68d74ef514e64e14ce9d37d7b90 Mon Sep 17 00:00:00 2001 From: steckbrief Date: Sat, 5 May 2018 20:28:04 +0200 Subject: introduces new message state model --- .../persistance/observers/FileDeletionObserver.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/main/java/de/thedevstack/conversationsplus/persistance/observers/FileDeletionObserver.java') diff --git a/src/main/java/de/thedevstack/conversationsplus/persistance/observers/FileDeletionObserver.java b/src/main/java/de/thedevstack/conversationsplus/persistance/observers/FileDeletionObserver.java index 3534ccd2..344e25a2 100644 --- a/src/main/java/de/thedevstack/conversationsplus/persistance/observers/FileDeletionObserver.java +++ b/src/main/java/de/thedevstack/conversationsplus/persistance/observers/FileDeletionObserver.java @@ -6,6 +6,8 @@ import de.thedevstack.conversationsplus.entities.Conversation; import de.thedevstack.conversationsplus.entities.Message; import de.thedevstack.conversationsplus.entities.Transferable; import de.thedevstack.conversationsplus.entities.TransferablePlaceholder; +import de.thedevstack.conversationsplus.enums.MessageDirection; +import de.thedevstack.conversationsplus.enums.MessageStatus; import de.thedevstack.conversationsplus.utils.MessageUtil; import de.thedevstack.conversationsplus.utils.UiUpdateHelper; import de.thedevstack.conversationsplus.utils.XmppConnectionServiceAccessor; @@ -30,11 +32,10 @@ public class FileDeletionObserver extends FileObserver { for (Conversation conversation : XmppConnectionServiceAccessor.xmppConnectionService.getConversations()) { Message message = conversation.findMessageWithFileAndUuid(uuid); if (message != null) { - message.setTransferable(new TransferablePlaceholder(Transferable.STATUS_DELETED)); - final int s = message.getStatus(); - if (s == Message.STATUS_WAITING || s == Message.STATUS_OFFERED || s == Message.STATUS_UNSEND) { - MessageUtil.markMessage(message, Message.STATUS_SEND_FAILED); - } else { + MessageUtil.setAndSaveStatusForFileDeleted(message); + if (MessageUtil.isIncomingMessage(message) + || (MessageUtil.isOutgoingMessage(message) + && !(MessageStatus.TRANSMITTING == message.getMessageStatus() || MessageStatus.WAITING == message.getMessageStatus()))) { UiUpdateHelper.updateConversationUi(); } return; -- cgit v1.2.3