ViewModel Factory
Use ViewModel Factory when you need to pass a value into a ViewModel.
Example: passing context to PlayerModel via viewmodel factory
class PlayerViewModelFactory(private val context: Context) : ViewModelProvider.Factory { override fun <T : ViewModel> create(modelClass: Class<T>): T { if (modelClass.isAssignableFrom(PlayerModel::class.java)) { @Suppress("UNCHECKED_CAST") return PlayerModel(context) as T } throw IllegalArgumentException("Unknown ViewModel class") }}