Package org.linphone.core

# Interface ChatRoomListener

All Known Implementing Classes:
  `ChatRoomListenerStub`

public interface ChatRoomListener
An object to handle the callbacks for the handling a `ChatRoom` objects.
Use `Factory#createChatRoomCbs` to create an instance. Then pass the
object to a `ChatRoom` instance through `ChatRoom.addListener(org.linphone.core.ChatRoomListener)`.

## Method Summary

Modifier and Type
Method
Description
`void`
`onChatMessageParticipantImdnStateChanged(ChatRoom chatRoom, ChatMessage message, ParticipantImdnState state)`
Get the message's participant state changed callback.
`void`
`onChatMessageReceived(ChatRoom chatRoom, EventLog eventLog)`
Get the chat message received callback.
`void`
`onChatMessageSending(ChatRoom chatRoom, EventLog eventLog)`
Get the chat message sending callback.
`void`
`onChatMessageSent(ChatRoom chatRoom, EventLog eventLog)`
Get the chat message sent callback.
`void`
`onChatMessageShouldBeStored(ChatRoom chatRoom, ChatMessage message)`
Get the message should be stored callback.
`void`
`onChatMessagesReceived(ChatRoom chatRoom, EventLog[] eventLogs)`
Get the chat messages received callback.
`void`
`onChatRoomRead(ChatRoom chatRoom)`
Get the "marked as read" callback.
`void`
`onConferenceAddressGeneration(ChatRoom chatRoom)`
Get the conference address generation callback.
`void`
`onConferenceJoined(ChatRoom chatRoom, EventLog eventLog)`
Get the conference joined callback.
`void`
`onConferenceLeft(ChatRoom chatRoom, EventLog eventLog)`
Get the conference left callback.
`void`
`onEphemeralEvent(ChatRoom chatRoom, EventLog eventLog)`
Get the ephemeral event callback.
`void`
`onEphemeralMessageDeleted(ChatRoom chatRoom, EventLog eventLog)`
Get the ephemeral message deleted callback.
`void`
`onEphemeralMessageTimerStarted(ChatRoom chatRoom, EventLog eventLog)`
Get the current "ephemeral message timer started" callback.
`void`
`onIsComposingReceived(ChatRoom chatRoom, Address remoteAddress, boolean isComposing)`
Get the is-composing received callback.
`void`
`onMessageContentEdited(ChatRoom chatRoom, ChatMessage message)`
Get the message content edited callback.
`void`
`onMessageEarlyFailure(ChatRoom chatRoom, EventLog eventLog)`
Get the message early failure callback.
`void`
`onMessageReceived(ChatRoom chatRoom, ChatMessage message)`
Get the message received callback.
`void`
`onMessageRetracted(ChatRoom chatRoom, ChatMessage message)`
Get the message retracted callback.
`void`
`onMessagesReceived(ChatRoom chatRoom, ChatMessage[] chatMessages)`
Get the chat messages received callback.
`void`
`onNewEvent(ChatRoom chatRoom, EventLog eventLog)`
Get the new event log callback.
`void`
`onNewEvents(ChatRoom chatRoom, EventLog[] eventLogs)`
Get the new event logs callback.
`void`
`onNewMessageReaction(ChatRoom chatRoom, ChatMessage message, ChatMessageReaction reaction)`
Get the new reaction callback.
`void`
`onOperationFailed(ChatRoom chatRoom)`
Get the leave failed callback.
`void`
`onParticipantAdded(ChatRoom chatRoom, EventLog eventLog)`
Get the participant added callback.
`void`
`onParticipantAdminStatusChanged(ChatRoom chatRoom, EventLog eventLog)`
Get the participant admin status changed callback.
`void`
`onParticipantDeviceAdded(ChatRoom chatRoom, EventLog eventLog)`
Get the participant device added callback.
`void`
`onParticipantDeviceMediaAvailabilityChanged(ChatRoom chatRoom, EventLog eventLog)`
Get the participant device media availability changed callback.
`void`
`onParticipantDeviceRemoved(ChatRoom chatRoom, EventLog eventLog)`
Get the participant device removed callback.
`void`
`onParticipantDeviceStateChanged(ChatRoom chatRoom, EventLog eventLog, ParticipantDevice.State state)`
Get the participant device state callback.
`void`
`onParticipantRegistrationSubscriptionRequested(ChatRoom chatRoom, Address participantAddress)`
Get the participant registration subscription callback.
`void`
`onParticipantRegistrationUnsubscriptionRequested(ChatRoom chatRoom, Address participantAddress)`
Get the participant registration unsubscription callback.
`void`
`onParticipantRemoved(ChatRoom chatRoom, EventLog eventLog)`
Get the participant removed callback.
`void`
`onSecurityEvent(ChatRoom chatRoom, EventLog eventLog)`
Get the security event callback.
`void`
`onStateChanged(ChatRoom chatRoom, ChatRoom.State newState)`
Get the state changed callback.
`void`
`onSubjectChanged(ChatRoom chatRoom, EventLog eventLog)`
Get the subject changed callback.
`void`
`onUndecryptableMessageReceived(ChatRoom chatRoom, ChatMessage message)`
Get the undecryptable message received callback.

## Method Details

### onIsComposingReceived

void onIsComposingReceived(@NonNull ChatRoom chatRoom, @NonNull Address remoteAddress, boolean isComposing)
Get the is-composing received callback.

### onMessageReceived

void onMessageReceived(@NonNull ChatRoom chatRoom, @NonNull ChatMessage message)
Get the message received callback.

### onMessagesReceived

void onMessagesReceived(@NonNull ChatRoom chatRoom, @NonNull ChatMessage[] chatMessages)
Get the chat messages received callback.
Only called when aggregation is enabled (aka [sip] chat_messages_aggregation ==
1 or using linphone_core_set_chat_messages_aggregation_enabled), it replaces
the single message received callback.

### onNewEvent

void onNewEvent(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the new event log callback.
This callback will be called before every other `EventLog` related
callback.

### onNewEvents

void onNewEvents(@NonNull ChatRoom chatRoom, @NonNull EventLog[] eventLogs)
Get the new event logs callback.
This callback will be called before every other `EventLog` related
callback.

### onChatMessageReceived

void onChatMessageReceived(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the chat message received callback.

### onChatMessagesReceived

void onChatMessagesReceived(@NonNull ChatRoom chatRoom, @NonNull EventLog[] eventLogs)
Get the chat messages received callback.
Only called when aggregation is enabled (aka [sip] chat_messages_aggregation ==
1 or using `Core.setChatMessagesAggregationEnabled(boolean)`), it replaces the
single chat message received callback.

### onChatMessageSending

void onChatMessageSending(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the chat message sending callback.

### onChatMessageSent

void onChatMessageSent(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the chat message sent callback.

### onParticipantAdded

void onParticipantAdded(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the participant added callback.

### onParticipantRemoved

void onParticipantRemoved(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the participant removed callback.

### onParticipantAdminStatusChanged

void onParticipantAdminStatusChanged(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the participant admin status changed callback.

### onOperationFailed

void onOperationFailed(@NonNull ChatRoom chatRoom)
Get the leave failed callback.

### onStateChanged

void onStateChanged(@NonNull ChatRoom chatRoom, ChatRoom.State newState)
Get the state changed callback.

### onSecurityEvent

void onSecurityEvent(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the security event callback.

### onSubjectChanged

void onSubjectChanged(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the subject changed callback.

### onMessageEarlyFailure

void onMessageEarlyFailure(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the message early failure callback.

### onUndecryptableMessageReceived

void onUndecryptableMessageReceived(@NonNull ChatRoom chatRoom, @NonNull ChatMessage message)
Get the undecryptable message received callback.

### onParticipantDeviceAdded

void onParticipantDeviceAdded(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the participant device added callback.

### onParticipantDeviceRemoved

void onParticipantDeviceRemoved(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the participant device removed callback.

### onParticipantDeviceStateChanged

void onParticipantDeviceStateChanged(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog, ParticipantDevice.State state)
Get the participant device state callback.

### onParticipantDeviceMediaAvailabilityChanged

void onParticipantDeviceMediaAvailabilityChanged(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the participant device media availability changed callback.

### onConferenceJoined

void onConferenceJoined(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the conference joined callback.

### onConferenceLeft

void onConferenceLeft(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the conference left callback.

### onEphemeralEvent

void onEphemeralEvent(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the ephemeral event callback.

### onEphemeralMessageTimerStarted

void onEphemeralMessageTimerStarted(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the current "ephemeral message timer started" callback.
This callback is called when a message deletion timer starts (the message has
been viewed).

### onEphemeralMessageDeleted

void onEphemeralMessageDeleted(@NonNull ChatRoom chatRoom, @NonNull EventLog eventLog)
Get the ephemeral message deleted callback.
This callback is used when a message deletion timer runs out (message is
deleted).

### onConferenceAddressGeneration

void onConferenceAddressGeneration(@NonNull ChatRoom chatRoom)
Get the conference address generation callback.

### onParticipantRegistrationSubscriptionRequested

void onParticipantRegistrationSubscriptionRequested(@NonNull ChatRoom chatRoom, @NonNull Address participantAddress)
Get the participant registration subscription callback.

### onParticipantRegistrationUnsubscriptionRequested

void onParticipantRegistrationUnsubscriptionRequested(@NonNull ChatRoom chatRoom, @NonNull Address participantAddress)
Get the participant registration unsubscription callback.

### onChatMessageShouldBeStored

void onChatMessageShouldBeStored(@NonNull ChatRoom chatRoom, @NonNull ChatMessage message)
Get the message should be stored callback.

### onChatMessageParticipantImdnStateChanged

void onChatMessageParticipantImdnStateChanged(@NonNull ChatRoom chatRoom, @NonNull ChatMessage message, @NonNull ParticipantImdnState state)
Get the message's participant state changed callback.

### onChatRoomRead

void onChatRoomRead(@NonNull ChatRoom chatRoom)
Get the "marked as read" callback.

### onNewMessageReaction

void onNewMessageReaction(@NonNull ChatRoom chatRoom, @NonNull ChatMessage message, @NonNull ChatMessageReaction reaction)
Get the new reaction callback.

### onMessageContentEdited

void onMessageContentEdited(@NonNull ChatRoom chatRoom, @NonNull ChatMessage message)
Get the message content edited callback.

### onMessageRetracted

void onMessageRetracted(@NonNull ChatRoom chatRoom, @NonNull ChatMessage message)
Get the message retracted callback.