package Ġcom . pre cop ia . david . lists . view . added it . user list . build logic Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . pre cop ia . david . lists . util . IS cheduler Provider Contract Ċ import Ġcom . pre cop ia . david . lists . view . added it . common . I Add Edit Contract Ċ import Ġcom . pre cop ia . david . lists . view . added it . user list . Add Edit UserList Logic Ċ import Ġcom . pre cop ia . domain . repository . I Repository Contract Ċ import Ġio . reactivex . rx java 3 . dis pos ables . Composite Disposable Ċ Ċ class ĠAdd Edit UserList Logic Factory ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠviewModel : ĠI Add Edit Contract . ViewModel , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrepo : ĠI Repository Contract . Repository , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdis posable : ĠComposite Disposable , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġscheduler Provider : ĠIS cheduler Provider Contract , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġid : ĠString , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġposition : ĠInt Ċ ) Ġ: ĠViewModel Provider . New Instance Factory () Ġ{ ĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠAdd Edit UserList Logic ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel , Ġrepo , Ġdis posable , Ġscheduler Provider , Ġid , Ġtitle , Ġposition ĊĠĠĠĠĠĠĠ Ġ) Ġas ĠT ĊĠĠĠ Ġ} Ċ }