Package rocks.xmpp.extensions.avatar
Class CombinedAvatarManager
- java.lang.Object
-
- rocks.xmpp.extensions.avatar.AbstractAvatarManager
-
- rocks.xmpp.extensions.avatar.CombinedAvatarManager
-
- All Implemented Interfaces:
AvatarManager
public final class CombinedAvatarManager extends AbstractAvatarManager
This class manages avatar updates as described in XEP-0153: vCard-Based Avatars and XEP-0084: User Avatar.Whenever an avatar update is received by a contact, either via the presence based avatar extension (XEP-0153) or the PEP-based notification (XEP-0084), the registered listeners are triggered.
By default this manager is not enabled.
This class is thread-safe.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAvatarChangeListener(Consumer<AvatarChangeEvent> avatarChangeListener)Adds an avatar listener, to listen for avatar updates.AsyncResult<byte[]>getAvatar(Jid contact)Gets the user avatar from the user's vCard.AsyncResult<Void>publishAvatar(byte[] imageData)Publishes an avatar.voidremoveAvatarChangeListener(Consumer<AvatarChangeEvent> avatarChangeListener)Removes a previously added avatar listener.-
Methods inherited from class rocks.xmpp.extensions.avatar.AbstractAvatarManager
getAvatarImage, loadFromCache, publishAvatarImage, storeToCache
-
-
-
-
Method Detail
-
getAvatar
public final AsyncResult<byte[]> getAvatar(Jid contact)
Gets the user avatar from the user's vCard.- Parameters:
contact- The contact.- Returns:
- The async result with the contact's avatar or null, if it has no avatar.
-
publishAvatar
public final AsyncResult<Void> publishAvatar(byte[] imageData)
Publishes an avatar.- Parameters:
imageData- The avatar image data, which must be in PNG format.nullresets the avatar.- Returns:
- The async result.
- See Also:
- 3.1 User Publishes Avatar
-
addAvatarChangeListener
public final void addAvatarChangeListener(Consumer<AvatarChangeEvent> avatarChangeListener)
Adds an avatar listener, to listen for avatar updates.- Specified by:
addAvatarChangeListenerin interfaceAvatarManager- Overrides:
addAvatarChangeListenerin classAbstractAvatarManager- Parameters:
avatarChangeListener- The avatar listener.- See Also:
AvatarManager.removeAvatarChangeListener(Consumer)
-
removeAvatarChangeListener
public final void removeAvatarChangeListener(Consumer<AvatarChangeEvent> avatarChangeListener)
Removes a previously added avatar listener.- Specified by:
removeAvatarChangeListenerin interfaceAvatarManager- Overrides:
removeAvatarChangeListenerin classAbstractAvatarManager- Parameters:
avatarChangeListener- The avatar listener.- See Also:
AvatarManager.addAvatarChangeListener(Consumer)
-
-