package Ġby . android academy . first application . threads čĊč Ċ import Ġandroid . content . Context č Ċ import Ġandroidx . lifecycle . ViewModel č Ċ import Ġandroidx . lifecycle . ViewModel Provider č Ċ import Ġjava . lang . IllegalArgumentException čĊč Ċ class ĠCor outines ViewModel Factory ( čĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext č Ċ ) Ġ: ĠViewModel Provider . Factory Ġ{ čĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( model Class Ġ== ĠCor outines ViewModel :: class . java ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") čĊĠĠĠĠĠĠĠĠĠĠĠ ĠCor outines ViewModel () Ġas ĠT čĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Unknown Ġview Ġmodel Ġclass Ġ$ model Class ") čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }