create

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

Creates the required ViewModel for our use case.

Supports MessageComposerViewModel, MessageListViewModel, and AttachmentsPickerViewModel. MessageComposerViewModel and AttachmentsPickerViewModel will receive a SavedStateHandle sourced from extras, allowing them to survive Activity recreation. Throws IllegalArgumentException for any other class.

Parameters

modelClass

The class of the ViewModel to create.


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

Creates the required ViewModel for our use case.

Supports MessageComposerViewModel, MessageListViewModel, and AttachmentsPickerViewModel. Throws IllegalArgumentException for any other class.

Prefer create with CreationExtras so that MessageComposerViewModel and AttachmentsPickerViewModel can survive Activity recreation.

Parameters

modelClass

The class of the ViewModel to create.