package Ġcom . world sn as . d agger and view model . main Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . world sn as . d agger and view model . Repository Ċ Ċ class ĠMain ViewModel ( ĊĠ Ġval Ġrepository : ĠRepository Ċ ): ĠViewModel () Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval Ġfactory : ĠViewModel Provider . Factory ĊĠĠĠĠĠ Ġget () Ġ= Ġobject : ĠViewModel Provider . Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T : ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ= ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( model Class . isAssignableFrom ( Main ViewModel :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMain ViewModel ( Repository ()) Ġas ĠT ĊĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġas ĠT ĊĠĠĠĠĠ Ġ} ĊĠ Ġ} Ċ }