Hello! Is it possible to inject ViewModels with `S...
# kotlin-inject
k
Hello! Is it possible to inject ViewModels with
SaveStateHandler
? Following docs https://github.com/evant/kotlin-inject/blob/main/docs/android.md#compose and https://developer.android.com/topic/libraries/architecture/viewmodel/viewmodel-factories#jetpack-compose Do I need to update the higher order function
viewModel
implementation to use
AbstractSavedStateViewModelFactory
and downgrade dependency to older than
2.5.0
or this also would work
Copy code
@Composable
inline fun <reified VM : ViewModel> injectViewModel(
    viewModelStoreOwner: ViewModelStoreOwner = checkNotNull(LocalViewModelStoreOwner.current) {
        "No ViewModelStoreOwner was provided via LocalViewModelStoreOwner"
    },
    key: String? = null,
    crossinline factory: (SavedStateHandle) -> VM,
): VM = viewModel(
    viewModelStoreOwner = viewModelStoreOwner,
    key = key,
    factory = viewModelFactory {
        initializer {
            val savedStateHandle = createSavedStateHandle()
            factory(savedStateHandle)
        }
    }
)
And second questions: In the docs there is example
Copy code
@Inject
@Composable
fun Home(homeViewModel: () -> HomeViewModel) {
    val viewModel = viewModel { homeViewModel() }
    ...
}
this factory method
homeViewModel: () -> HomeViewModel
is this method generated and provided by plugin? From samples can’t find where is this method coming from. Thanks!