package Ġcom . example . project _ flow _ android . view model . cert ification Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . example . project _ flow _ android . data . Shared Preference Storage Ċ import Ġcom . example . project _ flow _ android . data . remote . sign . Cert ification Api Impl Ċ import Ġcom . example . project _ flow _ android . data . remote . sign . Sign Api Impl Ċ Ċ class ĠCert ification ViewModel Factory ( ĊĠĠĠ Ġprivate Ġval Ġcert ification Api Impl Ġ: ĠCert ification Api Impl , ĊĠĠĠ Ġprivate Ġval Ġsign Api Impl : ĠSign Api Impl , ĊĠĠĠ Ġprivate Ġval Ġshared Pref ence Storage : ĠShared Preference Storage Ċ ) Ġ: ĠViewModel Provider . Factory Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ= ĊĠĠĠĠĠĠĠ Ġmodel Class . get Constructor ( Cert ification Api Impl :: class . java , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSign Api Impl :: class . java , ĠShared Preference Storage :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. newInstance ( cert ification Api Impl , sign Api Impl , Ġshared Pref ence Storage ) Ċ }