package Ġcom . te o . recipes util Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ Ċ /** Ċ Ġ* ĠCreates Ġa Ġone Ġoff Ġview Ġmodel Ġfactory Ġfor Ġthe Ġgiven Ġview Ġmodel Ġinstance . Ċ Ġ*/ Ċ object ĠViewModel Util Ġ{ ĊĠĠĠ Ġfun Ġ< T Ġ: ĠViewModel > Ġcreate For ( model : ĠT ): ĠViewModel Provider . Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠViewModel Provider . Factory Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel > Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( model Class . isAssignableFrom ( model . java Class )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġmodel Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" unexpected Ġmodel Ġclass Ġ$ model Class ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ