package Ġbr . com . ped ro ab re ude v . fil me sc or outines . ui . main Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . with Context Ċ Ċ class ĠMain ViewModel ( private Ġval Ġrepository : ĠMain Repository ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġval Ġfil mes LiveData Ġ= ĠMutable LiveData < List < Fil me >>() ĊĊĠĠĠ Ġfun Ġget Fil mes () Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . get Fil mes Ġ{ Ġfil mes Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfil mes LiveData . post Value ( fil mes ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Fil mes Cor outines () Ġ{ ĊĠĠĠĠĠĠĠ ĠCor outine Scope ( Dispatch ers . Main ). launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfil mes Ġ= Ġwith Context ( Dispatch ers . Default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . get Fil mes Cor outines () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfil mes LiveData . value Ġ= Ġfil mes ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠMain ViewModel Factory ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrepository : ĠMain Repository ĊĠĠĠ Ġ) Ġ: ĠViewModel Provider . Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel ?> Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMain ViewModel ( repository ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }