diff options
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/xmpp/pep')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/xmpp/pep/Avatar.java | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/xmpp/pep/Avatar.java b/src/main/java/de/thedevstack/conversationsplus/xmpp/pep/Avatar.java deleted file mode 100644 index 31fda8fd..00000000 --- a/src/main/java/de/thedevstack/conversationsplus/xmpp/pep/Avatar.java +++ /dev/null @@ -1,102 +0,0 @@ -package de.thedevstack.conversationsplus.xmpp.pep; - -import de.thedevstack.conversationsplus.xml.Element; -import de.thedevstack.conversationsplus.xmpp.jid.Jid; - -import android.util.Base64; - -public class Avatar { - - public enum Origin { PEP, VCARD }; - - public String type; - public String sha1sum; - public String image; - public int height; - public int width; - public long size; - public Jid owner; - public Origin origin = Origin.PEP; //default to maintain compat - - public byte[] getImageAsBytes() { - return Base64.decode(image, Base64.DEFAULT); - } - - public String getFilename() { - return sha1sum; - } - - public static Avatar parseMetadata(Element items) { - Element item = items.findChild("item"); - if (item == null) { - return null; - } - Element metadata = item.findChild("metadata"); - if (metadata == null) { - return null; - } - String primaryId = item.getAttribute("id"); - if (primaryId == null) { - return null; - } - for (Element child : metadata.getChildren()) { - if (child.getName().equals("info") - && primaryId.equals(child.getAttribute("id"))) { - Avatar avatar = new Avatar(); - String height = child.getAttribute("height"); - String width = child.getAttribute("width"); - String size = child.getAttribute("bytes"); - try { - if (height != null) { - avatar.height = Integer.parseInt(height); - } - if (width != null) { - avatar.width = Integer.parseInt(width); - } - if (size != null) { - avatar.size = Long.parseLong(size); - } - } catch (NumberFormatException e) { - return null; - } - avatar.type = child.getAttribute("type"); - String hash = child.getAttribute("id"); - if (!isValidSHA1(hash)) { - return null; - } - avatar.sha1sum = hash; - avatar.origin = Origin.PEP; - return avatar; - } - } - return null; - } - - @Override - public boolean equals(Object object) { - if (object != null && object instanceof Avatar) { - Avatar other = (Avatar) object; - return other.getFilename().equals(this.getFilename()); - } else { - return false; - } - } - - public static Avatar parsePresence(Element x) { - String hash = x == null ? null : x.findChildContent("photo"); - if (hash == null) { - return null; - } - if (!isValidSHA1(hash)) { - return null; - } - Avatar avatar = new Avatar(); - avatar.sha1sum = hash; - avatar.origin = Origin.VCARD; - return avatar; - } - - private static boolean isValidSHA1(String s) { - return s != null && s.matches("[a-fA-F0-9]{40}"); - } -} |