package Ġcom . pol ipp o . sleep tracker . sleep quality Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . pol ipp o . sleep tracker . database . Sleep Database Dao Ċ import Ġjava . lang . IllegalArgumentException Ċ Ċ class ĠSleep Quality ViewModel Factory ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsleep Night Key : ĠLong , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdatasource : ĠSleep Database Dao ) Ġ: ĠViewModel Provider . Factory { ĊĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( model Class . isAssignableFrom ( Sleep Quality ViewModel :: class . java )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSleep Quality ViewModel ( sleep Night Key , Ġdatasource ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Unknown ĠViewModel Ġclass ") ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ