package Ġcom . invent iv . multip ays dk . ui . authentication . login Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . invent iv . multip ays dk . repository . Authentication Repository Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ internal Ġclass ĠLogin ViewModel Factory ( ĊĠĠĠ Ġprivate Ġval Ġauthentication Repository : ĠAuthentication Repository Ċ ) Ġ: ĠViewModel Provider . New Instance Factory () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel > Ġcreate ( model Class : ĠClass < T >) Ġ= ĊĠĠĠĠĠĠĠ Ġ( Login ViewModel ( authentication Repository ) Ġas ĠT ) Ċ }