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 --- .../xmpp/chatmarkers/ChatMarkersPacketHandler.java | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/main/java/de/thedevstack/conversationsplus/xmpp/chatmarkers/ChatMarkersPacketHandler.java (limited to 'src/main/java/de/thedevstack/conversationsplus/xmpp/chatmarkers/ChatMarkersPacketHandler.java') diff --git a/src/main/java/de/thedevstack/conversationsplus/xmpp/chatmarkers/ChatMarkersPacketHandler.java b/src/main/java/de/thedevstack/conversationsplus/xmpp/chatmarkers/ChatMarkersPacketHandler.java new file mode 100644 index 00000000..89fd945a --- /dev/null +++ b/src/main/java/de/thedevstack/conversationsplus/xmpp/chatmarkers/ChatMarkersPacketHandler.java @@ -0,0 +1,24 @@ +package de.thedevstack.conversationsplus.xmpp.chatmarkers; + +import de.thedevstack.conversationsplus.entities.Account; +import de.thedevstack.conversationsplus.entities.Message; +import de.thedevstack.conversationsplus.xml.Element; +import de.thedevstack.conversationsplus.xmpp.stanzas.MessagePacket; + +/** + */ +public class ChatMarkersPacketHandler { + private ChatMarkersHandler handler; + + public void handleMessagePacket(Account account, MessagePacket packet, Message message) { + message.markable = packet.hasChild("markable", ChatMarkersXep.NAMESPACE); + Element received = packet.findChild("received", ChatMarkersXep.NAMESPACE); + if (null != received && null != handler) { + handler.messageReceived(account, packet.getFrom().toBareJid(), received.getAttribute("id")); + } + Element displayed = packet.findChild("displayed", ChatMarkersXep.NAMESPACE); + if (null != displayed && null != handler) { + handler.messageDisplayed(account, packet.getFrom().toBareJid(), displayed.getAttribute("id")); + } + } +} -- cgit v1.2.3