From f8b4d5f338aede361c2562379d816b45f7bed3b8 Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Tue, 5 Aug 2014 01:36:17 +0200 Subject: publish avatars --- .../siacs/conversations/parser/MessageParser.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/eu/siacs/conversations/parser/MessageParser.java') diff --git a/src/eu/siacs/conversations/parser/MessageParser.java b/src/eu/siacs/conversations/parser/MessageParser.java index 5c04b09c..0a812669 100644 --- a/src/eu/siacs/conversations/parser/MessageParser.java +++ b/src/eu/siacs/conversations/parser/MessageParser.java @@ -1,6 +1,7 @@ package eu.siacs.conversations.parser; import android.os.SystemClock; +import android.util.Log; import net.java.otr4j.session.Session; import net.java.otr4j.session.SessionStatus; import eu.siacs.conversations.entities.Account; @@ -213,6 +214,10 @@ public class MessageParser extends AbstractParser implements } private void parseNormal(Element packet, Account account) { + if (packet.hasChild("event","http://jabber.org/protocol/pubsub#event")) { + Element event = packet.findChild("event","http://jabber.org/protocol/pubsub#event"); + parseEvent(event,packet.getAttribute("from"),account); + } if (packet.hasChild("displayed", "urn:xmpp:chat-markers:0")) { String id = packet .findChild("displayed", "urn:xmpp:chat-markers:0") @@ -254,6 +259,16 @@ public class MessageParser extends AbstractParser implements } } + private void parseEvent(Element event, String from, Account account) { + Element items = event.findChild("items"); + String node = items.getAttribute("node"); + if (node!=null) { + Log.d("xmppService",account.getJid()+": "+node+" from "+from); + } else { + Log.d("xmppService",event.toString()); + } + } + private String getPgpBody(Element message) { Element child = message.findChild("x", "jabber:x:encrypted"); if (child == null) { @@ -324,6 +339,9 @@ public class MessageParser extends AbstractParser implements } else if (packet.getType() == MessagePacket.TYPE_NORMAL) { this.parseNormal(packet, account); return; + } else if (packet.getType() == MessagePacket.TYPE_HEADLINE) { + this.parseHeadline(packet, account); + return; } if ((message == null) || (message.getBody() == null)) { return; @@ -346,4 +364,11 @@ public class MessageParser extends AbstractParser implements } mXmppConnectionService.notifyUi(conversation, notify); } + + private void parseHeadline(MessagePacket packet, Account account) { + if (packet.hasChild("event","http://jabber.org/protocol/pubsub#event")) { + Element event = packet.findChild("event","http://jabber.org/protocol/pubsub#event"); + parseEvent(event,packet.getFrom(),account); + } + } } -- cgit v1.2.3