aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/xmpp/chatmarkers/ChatMarkersPacketHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/xmpp/chatmarkers/ChatMarkersPacketHandler.java')
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/xmpp/chatmarkers/ChatMarkersPacketHandler.java24
1 files changed, 24 insertions, 0 deletions
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"));
+ }
+ }
+}