ConversationParticipant
Class that represents a participant of the conversation.
In order to apply changes made by setters, you have to call one of the following methods:
- IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler)
 - IConversation.addParticipants(List, IMessengerCompletionHandler)
 - IConversation.editParticipants(List, IMessengerCompletionHandler)
 
The default permissions for all participants are: write / edit / remove their own messages.
The creator of any conversation by default:
- is the owner (ConversationParticipant.isOwner() is true)
 - can edit / remove other participants' messages
 - can manage other participants
 
Constructors
ConversationParticipant
 ConversationParticipant(long
 imUserId)Creates a new participant with default permissions.
Use ConversationConfig.ConversationConfigBuilder.setParticipants(List) or IConversation.addParticipants(List, IMessengerCompletionHandler) to add participants to the conversation.
Parameters
imUserId:
long
IM user's ID. Can be retrieved from IUser.getIMId()
Methods
canEditAllMessages
boolean
 canEditAllMessages()Whether the conversation participant can edit messages other than its own.
Returns
type:
boolean
canEditMessages
boolean
 canEditMessages()Whether the conversation participant can edit its own messages.
Once a participant is created, the default value is true.
Returns
type:
boolean
canManageParticipants
boolean
 canManageParticipants()Whether the participant can manage other participants in the conversation:
- add / remove / edit permissions
 - add / remove participants
 
If true and isOwner is true, the participant can manage other owners.
Returns
type:
boolean
canRemoveAllMessages
boolean
 canRemoveAllMessages()Whether the conversation participant can remove messages other than its own.
Returns
type:
boolean
canRemoveMessages
boolean
 canRemoveMessages()Whether the conversation participant can remove its own messages.
Once a participant is created, the default value is true.
Returns
type:
boolean
canWrite
boolean
 canWrite()Whether the conversation participant can send messages to the conversation.
Once a participant is created, the default value is true.
Returns
type:
boolean
getIMUserId
long
 getIMUserId()Gets the IM user's ID.
Returns
type:
long
getLastReadEventSequence
long
 getLastReadEventSequence()Gets the sequence of the event that has been last marked as read. Participants mark events as read via IConversation.markAsRead(long, IMessengerCompletionHandler).
The method returns the sequence of the last read event in a conversation or 0, if the participant has not marked events as read.
Returns
type:
long
isOwner
boolean
 isOwner()Whether the conversation participant is an owner.
There could be more than one owner in the conversation.
Whether the participant can edit the conversation. If true and canManageParticipants is true, the participant can manage other owners.
Returns
type:
boolean
setCanEditAllMessages
 setCanEditAllMessages(boolean
 canEditAllMessages)Whether the participant can edit messages other than its own.
It could be set only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
If the user that calls this method has both canManageParticipants and isOwner permissions, it can edit other owners.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
 - IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
 
Parameters
canEditAllMessages:
boolean
Returns
setCanEditMessages
 setCanEditMessages(boolean
 canEditMessages)Whether the participant can edit its own messages in the conversation.
The permission is given by default.
It could be changed only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
If the user that calls this method has both canManageParticipants and isOwner permissions, it can edit other owners.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
 - IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
 
Parameters
canEditMessages:
boolean
Returns
setCanManageParticipants
 setCanManageParticipants(boolean
 canManageParticipants)Whether the conversation participant can manage other participants in the conversation:
- add, remove and edit permissions
 - add and remove participants
 
It could be set only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
If the user that calls this method has both canManageParticipants and isOwner permissions, it can edit other owners.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
 - IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
 
Parameters
canManageParticipants:
boolean
Returns
setCanRemoveAllMessages
 setCanRemoveAllMessages(boolean
 canRemoveAllMessages)Whether the participant can remove messages other than its own.
It could be set only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
If the user that calls this method has both canManageParticipants and isOwner permissions, it can edit other owners.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
 - IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
 
Parameters
canRemoveAllMessages:
boolean
Returns
setCanRemoveMessages
 setCanRemoveMessages(boolean
 canRemoveMessages)Whether the participant can remove its own messages in the conversation.
The permission is given by default.
It could be changed only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
If the user that calls this method has both canManageParticipants and isOwner permissions, it can edit other owners.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
 - IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
 
Parameters
canRemoveMessages:
boolean
Returns
setCanWrite
 setCanWrite(boolean
 canWrite)Whether the participant can write in the conversation.
The permission is given by default.
It could be changed only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
 - IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
 
Parameters
canWrite:
boolean
Returns
setOwner
 setOwner(boolean
 isOwner)Whether the conversation participant is the owner.
It could be set only if the user that calls this method has the ConversationParticipant.canManageParticipants() and ConversationParticipant.isOwner() permissions.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
 - IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
 
Parameters
isOwner:
boolean