package Ġcom . team no yes . major par ks in se oul . main . par ks . park list . detail park Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . team no yes . major par ks in se oul . database . Bookmark Database Dao Ċ import Ġjava . lang . IllegalArgumentException Ċ Ċ class ĠDetail Par k ViewModel Factory ( private Ġval Ġregion Name : ĠString , Ġprivate Ġval Ġp Idx : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval ĠdataSource : ĠBook mark Database Dao ): ĠViewModel Provider . Factory Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( model Class . isAssignableFrom ( Detail Par k ViewModel :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠDetail Par k ViewModel ( region Name , Ġp Idx , ĠdataSource ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Un Known ĠViewModel ĠClass ") ĊĠĠĠ Ġ} Ċ }