1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-10 18:15:58 +01:00

Document how an Avatar can be removed from a vCard. Add a convenience method.

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13585 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
Florian Schmaus 2013-03-23 00:30:44 +00:00 committed by flow
parent ebfe3e69ed
commit 374a12b73a

View file

@ -338,22 +338,22 @@ public class VCard extends IQ {
} }
/** /**
* Specify the bytes for the avatar to use. * Removes the avatar from the vCard
* *
* @param bytes the bytes of the avatar. * This is done by setting the PHOTO value to the empty string as defined in XEP-0153
*/
public void removeAvatar() {
setAvatar(null, "image/jpeg");
}
/**
* Specify the bytes for the avatar to use.
* If bytes is null, then the avatar will be removed.
*
* @param bytes the bytes of the avatar, or null to remove the avatar data
*/ */
public void setAvatar(byte[] bytes) { public void setAvatar(byte[] bytes) {
if (bytes == null) { setAvatar(bytes, "image/jpeg");
// Remove avatar (if any) from mappings
otherUnescapableFields.remove("PHOTO");
return;
}
// Otherwise, add to mappings.
String encodedImage = StringUtils.encodeBase64(bytes);
avatar = encodedImage;
setField("PHOTO", "<TYPE>image/jpeg</TYPE><BINVAL>" + encodedImage + "</BINVAL>", true);
} }
/** /**