ViewModelAssistedFactory

Factory interface for creating ViewModel instances with assisted injection using CreationExtras.

Implement this interface in an @AssistedFactory-annotated class to create ViewModels that require runtime parameters. The factory receives CreationExtras which can be used to access Android-specific ViewModel creation context (such as SavedStateHandle).

Example:

@AssistedInject
class DetailsViewModel(@Assisted val id: String) : ViewModel() {
// ...

@AssistedFactory
@ViewModelAssistedFactoryKey(Factory::class)
@ContributesIntoMap(AppScope::class)
fun interface Factory : ViewModelAssistedFactory {
override fun create(extras: CreationExtras): DetailsViewModel {
return create(extras.get<String>(KEY_ID))
}

fun create(@Assisted id: String): DetailsViewModel
}
}

Functions

Link copied to clipboard
abstract fun create(extras: CreationExtras): ViewModel