aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/xmpp/chatmarkers/ChatMarkersPacketHandler.java
blob: 89fd945a842a3698e41878906ad3f5d5c909aa4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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"));
        }
    }
}