diff options
author | steckbrief <steckbrief@chefmail.de> | 2016-01-15 22:15:00 +0100 |
---|---|---|
committer | steckbrief <steckbrief@chefmail.de> | 2016-01-15 22:15:00 +0100 |
commit | 69145c02f2ba357a95b38575bdc0eca40a837bae (patch) | |
tree | cc9ccda0e22a924818134048f2c0c87f679cc1e3 /src/main/java/de/thedevstack/conversationsplus/xmpp/avatar/AvatarPacketParser.java | |
parent | 424477dfbc84f12af8223b004692d84b0d3ea5aa (diff) | |
parent | d44debab6726edbac07901a2b94a07f2ef4771ee (diff) |
Merge remote-tracking branch 'remotes/origin/trz/rename' into trz/rebase
Cast problem fixed
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/xmpp/avatar/AvatarPacketParser.java')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/xmpp/avatar/AvatarPacketParser.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/xmpp/avatar/AvatarPacketParser.java b/src/main/java/de/thedevstack/conversationsplus/xmpp/avatar/AvatarPacketParser.java new file mode 100644 index 00000000..cf993462 --- /dev/null +++ b/src/main/java/de/thedevstack/conversationsplus/xmpp/avatar/AvatarPacketParser.java @@ -0,0 +1,30 @@ +package de.thedevstack.conversationsplus.xmpp.avatar; + +import de.thedevstack.conversationsplus.xmpp.pubsub.PubSubPacketParser; + +import eu.siacs.conversations.xml.Element; +import eu.siacs.conversations.xmpp.stanzas.IqPacket; + +/** + * Parses the IQ Packets for handling Avatars + * as defined in XEP-0084. + * @see {@link http://xmpp.org/extensions/xep-0084.html} + */ +public class AvatarPacketParser { + /** + * Extracts the base64 encoded avatar data from an IqPacket. + * @param packet the IqPacket to be parsed. + * @return base64 encoded avatar data + */ + public static String parseAvatarData(IqPacket packet) { + Element items = PubSubPacketParser.findItems(packet); + String base64Avatar = null; + if (null != items) { + Element item = items.findChild("item"); + if (null != item) { + base64Avatar = item.findChildContent("data", AvatarPacketGenerator.NAMESPACE_AVATAR_DATA); + } + } + return base64Avatar; + } +} |