package xmpp.client.service.user.avatar; import org.jivesoftware.smack.packet.PacketExtension; import org.jivesoftware.smack.util.Base64; public class AvatarPacketExtension implements PacketExtension { public final static String XMPP_ELEMENT_NAME = "data"; public final static String XMPP_NAMESPACE = "urn:xmpp:avatar:data"; private static byte[] decode(String data) { return Base64.decode(data); } private static String encode(byte[] data) { return Base64.encodeBytes(data); } private final byte[] mData; public AvatarPacketExtension(byte[] data) { mData = data; } public AvatarPacketExtension(String data) { mData = decode(data); } public byte[] getData() { return mData; } public String getDataBase64() { return encode(mData); } @Override public String getElementName() { return XMPP_ELEMENT_NAME; } @Override public String getNamespace() { return XMPP_NAMESPACE; } @Override public String toXML() { final StringBuilder builder = new StringBuilder("<data xmlns=\""); builder.append(getNamespace()).append("\">"); builder.append(mData); builder.append("</data>"); return builder.toString(); } }