package Ġcom . ch ata way . ui . register Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ Ċ /** Ċ Ġ* ĠViewModel Ġprovider Ġfactory Ġto Ġinstantiate ĠLogin ViewModel . Ċ Ġ* ĠRequired Ġgiven ĠLogin ViewModel Ġhas Ġa Ġnon - empty Ġconstructor Ċ Ġ*/ Ċ class ĠRegister ViewModel Factory Ġ: ĠViewModel Provider . Factory Ġ{ ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel > Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( model Class . isAssignableFrom ( Register ViewModel :: class . java )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRegister ViewModel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirebase Auth Ġ= ĠFirebase Auth . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Unknown ĠViewModel Ġclass ") ĊĠĠĠ Ġ} Ċ }