From 132b27adeef3ab4d305facda7dd035015b00766f Mon Sep 17 00:00:00 2001 From: steckbrief Date: Sat, 5 May 2018 20:28:04 +0200 Subject: introduces new message state model --- .../xmpp/jingle/JingleConnection.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'src/main/java/de/thedevstack/conversationsplus/xmpp/jingle/JingleConnection.java') diff --git a/src/main/java/de/thedevstack/conversationsplus/xmpp/jingle/JingleConnection.java b/src/main/java/de/thedevstack/conversationsplus/xmpp/jingle/JingleConnection.java index 49a10684..29e83c34 100644 --- a/src/main/java/de/thedevstack/conversationsplus/xmpp/jingle/JingleConnection.java +++ b/src/main/java/de/thedevstack/conversationsplus/xmpp/jingle/JingleConnection.java @@ -17,6 +17,8 @@ import java.util.concurrent.ConcurrentHashMap; import de.thedevstack.android.logcat.Logging; import de.thedevstack.conversationsplus.ConversationsPlusPreferences; +import de.thedevstack.conversationsplus.enums.MessageDirection; +import de.thedevstack.conversationsplus.enums.MessageStatus; import de.thedevstack.conversationsplus.utils.MessageUtil; import de.thedevstack.conversationsplus.utils.StreamUtil; import de.thedevstack.conversationsplus.Config; @@ -105,7 +107,7 @@ public class JingleConnection implements Transferable { sendSuccess(); MessageUtil.updateFileParams(message); mXmppConnectionService.databaseBackend.createMessage(message); - MessageUtil.markMessage(message,Message.STATUS_RECEIVED); + MessageUtil.setAndSaveMessageStatus(message, MessageStatus.TRANSMITTED); if (acceptedAutomatically) { message.markUnread(); JingleConnection.this.mXmppConnectionService.getNotificationService().push(message); @@ -297,7 +299,8 @@ public class JingleConnection implements Transferable { .findOrCreateConversation(account, packet.getFrom().toBareJid(), false); this.message = new Message(conversation, "", Message.ENCRYPTION_NONE); - this.message.setStatus(Message.STATUS_RECEIVED); + MessageUtil.setMessageStatus(this.message, MessageStatus.TRANSMITTING); + this.message.setDirection(MessageDirection.IN); this.mStatus = Transferable.STATUS_OFFER; this.message.setTransferable(this); final Jid from = packet.getFrom(); @@ -458,7 +461,7 @@ public class JingleConnection implements Transferable { if (packet.getType() == IqPacket.TYPE.RESULT) { Logging.d(Config.LOGTAG,account.getJid().toBareJid()+": other party received offer"); mJingleStatus = JINGLE_STATUS_INITIATED; - MessageUtil.markMessage(message, Message.STATUS_OFFERED); + MessageUtil.setAndSaveMessageStatus(message, MessageStatus.TRANSMITTING); } else { fail(); } @@ -551,7 +554,7 @@ public class JingleConnection implements Transferable { mergeCandidates(JingleCandidate.parse(content.socks5transport() .getChildren())); this.mJingleStatus = JINGLE_STATUS_ACCEPTED; - MessageUtil.markMessage(message, Message.STATUS_UNSEND); + MessageUtil.setAndSaveMessageStatus(message, MessageStatus.TRANSMITTING); this.connectNextCandidate(); return true; } @@ -711,7 +714,7 @@ public class JingleConnection implements Transferable { this.sendJinglePacket(packet); this.disconnectSocks5Connections(); this.mJingleStatus = JINGLE_STATUS_FINISHED; - this.message.setStatus(Message.STATUS_RECEIVED); + MessageUtil.setMessageStatus(message, MessageStatus.TRANSMITTED); this.message.setTransferable(null); this.mXmppConnectionService.updateMessage(message); this.mJingleConnectionManager.finishConnection(this); @@ -783,7 +786,7 @@ public class JingleConnection implements Transferable { private void receiveSuccess() { this.mJingleStatus = JINGLE_STATUS_FINISHED; - MessageUtil.markMessage(this.message,Message.STATUS_SEND_RECEIVED); + MessageUtil.setAndSaveMessageStatus(this.message, MessageStatus.RECEIVED); this.disconnectSocks5Connections(); if (this.transport != null && this.transport instanceof JingleInbandTransport) { this.transport.disconnect(); @@ -806,7 +809,7 @@ public class JingleConnection implements Transferable { } this.mXmppConnectionService.updateConversationUi(); } else { - MessageUtil.markMessage(this.message, Message.STATUS_SEND_FAILED); + MessageUtil.setAndSaveMessageStatus(this.message, MessageStatus.CANCELED); this.message.setTransferable(null); } } @@ -827,7 +830,7 @@ public class JingleConnection implements Transferable { } this.mXmppConnectionService.updateConversationUi(); } else { - MessageUtil.markMessage(this.message, Message.STATUS_SEND_FAILED); + MessageUtil.setAndSaveMessageStatus(this.message, MessageStatus.FAILED); this.message.setTransferable(null); } } -- cgit v1.2.3