The ViewModel
class WeatherViewModel @Inject constructor(
private val currentInteractor: CurrentWeatherInteractor,
// ...
): ViewModel() {}
GenericViewModelFactory
class GenericViewModelFactory<T1 : ViewModel> @Inject constructor(
private val provider: Provider<T1>
) : ViewModelProvider.Factory {
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return provider.get() as T
}
}