ChannelListViewModelFactory

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.

Parameters

querySort

The sorting order for channels.

filters

The base filters used to filter out channels. When null, a default filter scoped to messaging channels the current user is a member of is used.


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.

Parameters

predefinedFilterName

The name of the predefined filter registered on the backend.

filterValues

Optional values interpolated into the predefined filter template.

sortValues

Optional values interpolated into the predefined sort template.


constructor(groupKey: String, chatClient: ChatClient = ChatClient.instance(), draftMessagesEnabled: Boolean = true, messageSearchSort: QuerySorter<Message>? = null)

Grouped ChannelListViewModel factory. Wires the ViewModel to the state identified by groupKey without firing a remote call; queryGroupedChannels responses populate it.

IMPORTANT: This is an enterprise feature and is disabled by default. For more info, reach out to our Contact & Support.

Parameters

groupKey

The name of the channels group.

chatClient

The prepared ChatClient instance required for fetching the data.

draftMessagesEnabled

If the draft message feature is enabled.

messageSearchSort

Optional sorting for message search results.