package Ġcom . override 0 3 3 0 . team im . view model Ċ Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . override 0 3 3 0 . team im . Repository . Task Repository Ċ import Ġcom . override 0 3 3 0 . team im . Repository . UserRepository Ċ import Ġcom . override 0 3 3 0 . team im . base . Base ViewModel Ċ import Ġcom . override 0 3 3 0 . team im . model . bean . Comment Ċ import Ġcom . override 0 3 3 0 . team im . model . bean . Task Ċ Ċ /** Ċ Ġ* Ġ@ data Ġ 2 0 1 9 - 0 8 - 2 3 Ċ Ġ* Ġ@ author ĠOverride 0 3 3 0 Ċ Ġ* Ġ@ description Ċ Ġ*/ ĊĊ Ċ class ĠTask Detail ViewModel Ġ: Base ViewModel (){ ĊĠĠĠ Ġprivate Ġval Ġtask Repository Ġ= ĠTask Repository . get Instant () ĊĊĠĠĠ Ġprivate Ġval Ġuser Repository Ġ= ĠUser Repository . get Instant () ĊĊĠĠĠ Ġfun Ġget Task ById ( taskId : String ): LiveData < Task > Ġ= Ġtask Repository . get Task ById ( taskId ) ĊĊĠĠĠ Ġfun Ġget Member UserName List ( id List : List < String >): LiveData < String >{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠMutable LiveData < String >() ĊĠĠĠĠĠĠĠ Ġvar ĠuserName List Ġ= Ġ"" ĊĠĠĠĠĠĠĠ ĠAsync Task . execute Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid List . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserName List Ġ= ĠuserName List +" Ġ"+ user Repository . getUser From Net Now ( it ). username ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata . post Value ( userName List ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdata ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Creator Name ById ( id : String ): LiveData < String >{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠMutable LiveData < String >() ĊĠĠĠĠĠĠĠ Ġuser Repository . getObject ById From Net ("_ User ", id ). observe ( lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata . post Value ( it . getString (" username ")) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġreturn Ġdata ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Comment List ( taskId : String ): LiveData < List < Comment >> Ġ= Ġtask Repository . get Comment ListBy TaskId ( taskId ) ĊĊĠĠĠ Ġfun Ġsend Comment ( taskId : ĠString , content : ĠString ): LiveData < Task Repository . Send Result > Ġ= Ġtask Repository . send Comment To Task ( taskId , content ) ĊĊĠĠĠ Ġfun Ġcomplete Task ( task : Task ): LiveData < Task Repository . Send Result > Ġ= Ġtask Repository . complete Task ById ( task ) ĊĊĠĠĠ Ġfun Ġlet Task un Done ( task : Task ): LiveData < Task Repository . Send Result > Ġ= Ġtask Repository . let Task Un Done ( task ) Ċ Ċ }