Package-level declarations

Types

persist a local system message to all conversations

class AddSystemMessageToAllConversationsUseCaseImpl(messageRepository: MessageRepository, selfUserId: <Error class: unknown class>) : AddSystemMessageToAllConversationsUseCase
Link copied to clipboard
class DeleteMessageUseCase(messageRepository: MessageRepository, assetRepository: AssetRepository, slowSyncRepository: SlowSyncRepository, messageSender: MessageSender, selfUserId: <Error class: unknown class>, currentClientIdProvider: CurrentClientIdProvider, selfConversationIdProvider: SelfConversationIdProvider, dispatcher: <Error class: unknown class> = KaliumDispatcherImpl)

Deletes a message from the conversation

Link copied to clipboard
class GetMessageByIdUseCase(messageRepository: MessageRepository, dispatchers: <Error class: unknown class> = KaliumDispatcherImpl)

Provides a way to get a full message using its ConversationId and message ID coordinates.

Link copied to clipboard

Get notifications for the current user

Link copied to clipboard
internal class GetNotificationsUseCaseImpl(connectionRepository: ConnectionRepository, messageRepository: MessageRepository, notificationEventsManager: NotificationEventsManager, incrementalSyncRepository: IncrementalSyncRepository, localNotificationMessageMapper: LocalNotificationMessageMapper = MapperProvider.localNotificationMessageMapper()) : GetNotificationsUseCase
class GetPaginatedFlowOfMessagesByConversationUseCase(dispatcher: <Error class: unknown class>, messageRepository: MessageRepository)

This use case will observe and return a flow of paginated messages for a given conversation.

class GetPaginatedFlowOfMessagesBySearchQueryAndConversationIdUseCase(dispatcher: <Error class: unknown class>, messageRepository: MessageRepository)

This use case will observe and return a flow of paginated searched messages for a given conversation.

Link copied to clipboard
class GetRecentMessagesUseCase(messageRepository: MessageRepository, slowSyncRepository: SlowSyncRepository)

Gets the recent messages from the conversation

Gets the Selected Message Position from Search

internal class GetSearchedConversationMessagePositionUseCaseImpl(messageRepository: MessageRepository, dispatcher: <Error class: unknown class> = KaliumDispatcherImpl) : GetSearchedConversationMessagePositionUseCase
Link copied to clipboard

Marks conversations in one or all conversations as notified, so the notifications for these messages won't show up again.

Link copied to clipboard
Link copied to clipboard
class MessageEnvelopeCreatorImpl(conversationRepository: ConversationRepository, legalHoldStatusMapper: LegalHoldStatusMapper, proteusClientProvider: ProteusClientProvider, selfUserId: <Error class: unknown class>, protoContentMapper: ProtoContentMapper = MapperProvider.protoContentMapper(selfUserId = selfUserId), idMapper: IdMapper = MapperProvider.idMapper()) : MessageEnvelopeCreator
Link copied to clipboard
class MessageScope(connectionRepository: ConnectionRepository, messageDraftRepository: MessageDraftRepository, selfUserId: <Error class: unknown class>, currentClientIdProvider: CurrentClientIdProvider, selfConversationIdProvider: SelfConversationIdProvider, val messageRepository: MessageRepository, conversationRepository: ConversationRepository, mlsConversationRepository: MLSConversationRepository, clientRepository: ClientRepository, clientRemoteRepository: ClientRemoteRepository, proteusClientProvider: ProteusClientProvider, mlsClientProvider: MLSClientProvider, preKeyRepository: PreKeyRepository, userRepository: UserRepository, assetRepository: AssetRepository, reactionRepository: ReactionRepository, receiptRepository: ReceiptRepository, syncManager: SyncManager, slowSyncRepository: SlowSyncRepository, messageSendingScheduler: MessageSendingScheduler, userPropertyRepository: UserPropertyRepository, incrementalSyncRepository: IncrementalSyncRepository, protoContentMapper: ProtoContentMapper, observeSelfDeletingMessages: ObserveSelfDeletionTimerSettingsForConversationUseCase, messageMetadataRepository: MessageMetadataRepository, staleEpochVerifier: StaleEpochVerifier, legalHoldHandler: LegalHoldHandler, observeFileSharingStatusUseCase: ObserveFileSharingStatusUseCase, scope: <Error class: unknown class>, kaliumLogger: <Error class: unknown class>, val dispatcher: <Error class: unknown class> = KaliumDispatcherImpl, legalHoldStatusMapper: LegalHoldStatusMapper = LegalHoldStatusMapperImpl)
Link copied to clipboard
interface MessageSender

Responsible for orchestrating all the pieces necessary for sending a message to the wanted recipients. Will handle reading and updating message status, retries in case of connectivity issues, and encryption based on ConversationOptions.Protocol.

Link copied to clipboard
internal class MessageSenderImpl(messageRepository: MessageRepository, conversationRepository: ConversationRepository, mlsConversationRepository: MLSConversationRepository, syncManager: SyncManager, messageSendFailureHandler: MessageSendFailureHandler, legalHoldHandler: LegalHoldHandler, sessionEstablisher: SessionEstablisher, messageEnvelopeCreator: MessageEnvelopeCreator, mlsMessageCreator: MLSMessageCreator, messageSendingInterceptor: MessageSendingInterceptor, userRepository: UserRepository, staleEpochVerifier: StaleEpochVerifier, enqueueSelfDeletion: (<Error class: unknown class>, <Error class: unknown class>) -> Unit, scope: <Error class: unknown class>) : MessageSender
Link copied to clipboard
Link copied to clipboard
class MessageSendFailureHandlerImpl(userRepository: UserRepository, clientRepository: ClientRepository, clientRemoteRepository: ClientRemoteRepository, messageRepository: MessageRepository, messageSendingScheduler: MessageSendingScheduler, conversationRepository: ConversationRepository, clientMapper: ClientMapper = MapperProvider.clientMapper()) : MessageSendFailureHandler
Link copied to clipboard
Link copied to clipboard
internal class MessageSendingInterceptorImpl(messageContentEncoder: MessageContentEncoder, messageRepository: MessageRepository) : MessageSendingInterceptor
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class MLSMessageCreatorImpl(conversationRepository: ConversationRepository, legalHoldStatusMapper: LegalHoldStatusMapper, mlsClientProvider: MLSClientProvider, selfUserId: <Error class: unknown class>, protoContentMapper: ProtoContentMapper = MapperProvider.protoContentMapper(selfUserId = selfUserId), idMapper: IdMapper = MapperProvider.idMapper()) : MLSMessageCreator
Link copied to clipboard

Use case to observe the reactions on a message

Link copied to clipboard

Use case to observe the receipts on a message

Link copied to clipboard

Schedule pending MLS proposals in a conversation to be committed at a given date. The scheduling persisted and resumes automatically.

Link copied to clipboard
internal class PendingProposalSchedulerImpl(incrementalSyncRepository: IncrementalSyncRepository, mlsConversationRepository: <Error class: unknown class><MLSConversationRepository>, subconversationRepository: <Error class: unknown class><SubconversationRepository>, kaliumDispatcher: <Error class: unknown class> = KaliumDispatcherImpl) : PendingProposalScheduler
Link copied to clipboard

Persist migrated messages from old datasource

Link copied to clipboard
internal class PersistMigratedMessagesUseCaseImpl(selfUserId: <Error class: unknown class>, migrationDAO: <Error class: unknown class>, coroutineContext: <Error class: unknown class> = KaliumDispatcherImpl.default.limitedParallelism(2), protoContentMapper: ProtoContentMapper = MapperProvider.protoContentMapper(selfUserId), messageMapper: MessageMapper = MapperProvider.messageMapper(selfUserId)) : PersistMigratedMessagesUseCase
Link copied to clipboard
sealed class Result
Link copied to clipboard
class RetryFailedMessageUseCase(messageRepository: MessageRepository, assetRepository: AssetRepository, persistMessage: PersistMessageUseCase, scope: <Error class: unknown class>, dispatcher: <Error class: unknown class>, messageSender: MessageSender, updateAssetMessageTransferStatus: UpdateAssetMessageTransferStatusUseCase, getAssetMessageTransferStatusUseCase: GetAssetMessageTransferStatusUseCase, messageSendFailureHandler: MessageSendFailureHandler)
Link copied to clipboard
class SendEditTextMessageUseCase(messageRepository: MessageRepository, selfUserId: <Error class: unknown class>, provideClientId: CurrentClientIdProvider, slowSyncRepository: SlowSyncRepository, messageSender: MessageSender, messageSendFailureHandler: MessageSendFailureHandler, dispatchers: <Error class: unknown class> = KaliumDispatcherImpl)

Edits a text message

Link copied to clipboard
class SendKnockUseCase(persistMessage: PersistMessageUseCase, selfUserId: <Error class: unknown class>, currentClientIdProvider: CurrentClientIdProvider, slowSyncRepository: SlowSyncRepository, messageSender: MessageSender, messageSendFailureHandler: MessageSendFailureHandler, selfDeleteTimer: ObserveSelfDeletionTimerSettingsForConversationUseCase, dispatcher: <Error class: unknown class> = KaliumDispatcherImpl)

Sending a ping/knock message to a conversation

Link copied to clipboard
class SendLocationUseCase(persistMessage: PersistMessageUseCase, selfUserId: <Error class: unknown class>, currentClientIdProvider: CurrentClientIdProvider, slowSyncRepository: SlowSyncRepository, messageSender: MessageSender, messageSendFailureHandler: MessageSendFailureHandler, selfDeleteTimer: ObserveSelfDeletionTimerSettingsForConversationUseCase, dispatcher: <Error class: unknown class> = KaliumDispatcherImpl)

Sending a location message to a conversation

Link copied to clipboard
class SendTextMessageUseCase(persistMessage: PersistMessageUseCase, selfUserId: <Error class: unknown class>, provideClientId: CurrentClientIdProvider, assetDataSource: AssetRepository, slowSyncRepository: SlowSyncRepository, messageSender: MessageSender, messageSendFailureHandler: MessageSendFailureHandler, userPropertyRepository: UserPropertyRepository, selfDeleteTimer: ObserveSelfDeletionTimerSettingsForConversationUseCase, dispatchers: <Error class: unknown class> = KaliumDispatcherImpl, scope: <Error class: unknown class>)
Link copied to clipboard
Link copied to clipboard
class SessionResetSenderImpl(slowSyncRepository: SlowSyncRepository, selfUserId: <Error class: unknown class>, provideClientId: CurrentClientIdProvider, messageSender: MessageSender, dispatchers: <Error class: unknown class> = KaliumDispatcherImpl) : SessionResetSender
Link copied to clipboard
Link copied to clipboard
internal class StaleEpochVerifierImpl(systemMessageInserter: SystemMessageInserter, conversationRepository: ConversationRepository, mlsConversationRepository: MLSConversationRepository, joinExistingMLSConversation: JoinExistingMLSConversationUseCase) : StaleEpochVerifier
Link copied to clipboard
class ToggleReactionUseCase(currentClientIdProvider: CurrentClientIdProvider, userId: <Error class: unknown class>, slowSyncRepository: SlowSyncRepository, reactionRepository: ReactionRepository, messageSender: MessageSender, dispatcher: <Error class: unknown class> = KaliumDispatcherImpl)

Toggles a reaction on a message. If the reaction already exists it will be removed, if not it will be added.

Properties