aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/xmpp/avatar/AvatarPacketParser.java
diff options
context:
space:
mode:
authorsteckbrief <steckbrief@chefmail.de>2016-01-15 22:15:00 +0100
committersteckbrief <steckbrief@chefmail.de>2016-01-15 22:15:00 +0100
commit69145c02f2ba357a95b38575bdc0eca40a837bae (patch)
treecc9ccda0e22a924818134048f2c0c87f679cc1e3 /src/main/java/de/thedevstack/conversationsplus/xmpp/avatar/AvatarPacketParser.java
parent424477dfbc84f12af8223b004692d84b0d3ea5aa (diff)
parentd44debab6726edbac07901a2b94a07f2ef4771ee (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.java30
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;
+ }
+}