package Ġcom . n aw rot . mate us z . recipe y . splash Ċ Ċ import Ġandroid . arch . lifecycle . ViewModel Ċ import Ġandroid . arch . lifecycle . ViewModel Provider Ċ import Ġcom . n aw rot . mate us z . recipe y . di . Activity Scope Ċ import Ġcom . n aw rot . mate us z . recipe y . domain . splash . inter actor . Initialize App UseCase Ċ import Ġcom . n aw rot . mate us z . recipe y . navigation . Navigation Router Ċ import Ġjavax . inject . Inject ĊĊ Ċ @ Activity Scope Ċ class ĠSpl ash Screen ViewModel Factory Ġ@ Inject Ġconstructor ( private Ġval Ġnavigation Router : ĠNavigation Router , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġinitialize App UseCase : ĠInitialize App UseCase ) Ġ: ĠViewModel Provider . Factory { ĊĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( model Class . isAssignableFrom ( Splash Screen ViewModel :: class . java )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Could Ġnot Ġinstantiate Ġ${ java Class . simple Name } Ġclass " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠSpl ash Screen ViewModel ( navigation Router , Ġinitialize App UseCase ) Ġas ĠT ĊĠĠĠ Ġ} Ċ }