package Ġcom . github . m ari em mez gh ani . book finder . viewModel Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . github . m ari em mez gh ani . book finder . repository . Book Repository Ċ Ċ class ĠBook ViewModel Factory ( private Ġval Ġrepository : ĠBook Repository ) Ġ: ĠViewModel Provider . Factory Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel > Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( model Class . isAssignableFrom ( Book ViewModel :: class . java )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBook ViewModel ( repository ) Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Unknown ĠViewModel Ġclass ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ