ChannelListViewModelFactory

Builds the factory that contains all the dependencies required for the Channels Screen. It currently provides the ChannelListViewModel using those dependencies.

Parameters

chatClient

The client used to fetch data.

channelLimit

How many channels we fetch per page.

memberLimit

How many members are fetched for each channel item when loading channels. When null, the server-side default is used.

messageLimit

How many messages are fetched for each channel item when loading channels. When null, the server-side default is used.

chatEventHandlerFactory

The instance of ChatEventHandlerFactory used to create ChatEventHandler.

draftMessagesEnabled

If the draft message feature is enabled.

messageSearchSort

Optional sorting for message search results. When null, the server-side default is used.

Constructors

Link copied to clipboard
constructor(chatClient: ChatClient = ChatClient.instance(), querySort: QuerySorter<Channel> = QuerySortByField.descByName("last_updated"), filters: FilterObject? = null, channelLimit: Int = ChannelListViewModel.DEFAULT_CHANNEL_LIMIT, memberLimit: Int? = null, messageLimit: Int? = null, chatEventHandlerFactory: ChatEventHandlerFactory = ChatEventHandlerFactory(chatClient.clientState), draftMessagesEnabled: Boolean = true, messageSearchSort: QuerySorter<Message>? = null)

Builds a factory for a ChannelListViewModel that queries channels by an explicit filter and sort.

constructor(chatClient: ChatClient = ChatClient.instance(), predefinedFilterName: String, filterValues: Map<String, Any>? = null, sortValues: Map<String, Any>? = null, channelLimit: Int = ChannelListViewModel.DEFAULT_CHANNEL_LIMIT, memberLimit: Int? = null, messageLimit: Int? = null, chatEventHandlerFactory: ChatEventHandlerFactory = ChatEventHandlerFactory(chatClient.clientState), draftMessagesEnabled: Boolean = true, messageSearchSort: QuerySorter<Message>? = null)

Builds a factory for a ChannelListViewModel that queries channels using a predefined filter resolved by the server.

Functions

Link copied to clipboard
open fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T
open fun <T : ViewModel> create(modelClass: KClass<T>, extras: CreationExtras): T

open override fun <T : ViewModel> create(modelClass: Class<T>): T

Create a new instance of ChannelListViewModel class.