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)
Create 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 id. Can be retrieved from IUser.getIMId()
Methods
canEditAllMessages
boolean
canEditAllMessages()
Check if the conversation participant can edit messages other than its own.
Returns
type:
boolean
canEditMessages
boolean
canEditMessages()
Check if the conversation participant can edit its own messages.
Once a participant is created, it's true by default.
Returns
type:
boolean
canManageParticipants
boolean
canManageParticipants()
Check if 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()
Check if the conversation participant can remove messages other than its own.
Returns
type:
boolean
canRemoveMessages
boolean
canRemoveMessages()
Check if the conversation participant can remove its own messages.
Once a participant is created, it's true by default.
Returns
type:
boolean
canWrite
boolean
canWrite()
Check if the conversation participant can send messages to the conversation.
Once a participant is created, it's true by default.
Returns
type:
boolean
getIMUserId
long
getIMUserId()
Get the IM user id.
Returns
type:
long
getLastReadEventSequence
long
getLastReadEventSequence()
Get the sequence of the event that was 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 didn't mark events as read.
Returns
type:
long
isOwner
boolean
isOwner()
Check if the conversation participant is an owner.
There could be more than one owner in the conversation.
If true, 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)
Specify if 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 doesn't 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)
Specify if 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 doesn't 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)
Specify if 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 doesn't 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)
Specify if 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 doesn't 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)
Specify if 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 doesn't 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)
Specify if 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 doesn't 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)
Specify if 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 doesn't 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