Package-level declarations

Types

Link copied to clipboard
class AttachmentsPickerViewModel(storageHelper: StorageHelperWrapper, channelState: StateFlow<ChannelState?>) : ViewModel

ViewModel responsible for handling the state and business logic of attachments.

Link copied to clipboard

ViewModel class for the AudioPlayer.

Link copied to clipboard
class AudioPlayerViewModelFactory(getAudioPlayer: () -> AudioPlayer, getRecordingUri: (Attachment) -> String?) : ViewModelProvider.Factory
Link copied to clipboard

ViewModel responsible for handling the composing and sending of messages.

Link copied to clipboard
class MessageListViewModel(messageListController: MessageListController) : ViewModel

ViewModel responsible for handling all the business logic & state for the list of messages.

Link copied to clipboard
class MessagesViewModelFactory(context: Context, channelId: String, messageId: String? = null, parentMessageId: String? = null, autoTranslationEnabled: Boolean = false, chatClient: ChatClient = ChatClient.instance(), clientState: ClientState = chatClient.clientState, mediaRecorder: StreamMediaRecorder = DefaultStreamMediaRecorder(context.applicationContext), userLookupHandler: UserLookupHandler = DefaultUserLookupHandler(chatClient, channelId), fileToUriConverter: (File) -> String = { file -> file.toUri().toString() }, messageLimit: Int = MessageListController.DEFAULT_MESSAGES_LIMIT, clipboardHandler: ClipboardHandler = ClipboardHandlerImpl( clipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager, autoTranslationEnabled = autoTranslationEnabled, getCurrentUser = { chatClient.getCurrentUser() }, ), enforceUniqueReactions: Boolean = true, maxAttachmentCount: Int = AttachmentConstants.MAX_ATTACHMENTS_COUNT, showSystemMessages: Boolean = true, deletedMessageVisibility: DeletedMessageVisibility = DeletedMessageVisibility.ALWAYS_VISIBLE, messageFooterVisibility: MessageFooterVisibility = MessageFooterVisibility.WithTimeDifference(), dateSeparatorHandler: DateSeparatorHandler = DateSeparatorHandler.getDefaultDateSeparatorHandler(), threadDateSeparatorHandler: DateSeparatorHandler = DateSeparatorHandler.getDefaultThreadDateSeparatorHandler(), messagePositionHandler: MessagePositionHandler = MessagePositionHandler.defaultHandler(), showDateSeparatorInEmptyThread: Boolean = false, showThreadSeparatorInEmptyThread: Boolean = false, threadLoadOlderToNewer: Boolean = false, isComposerLinkPreviewEnabled: Boolean = false) : ViewModelProvider.Factory

Holds all the dependencies needed to build the ViewModels for the Messages Screen. Currently builds the MessageComposerViewModel, MessageListViewModel and AttachmentsPickerViewModel.