/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 ĠSer gio ĠBel da Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġdev . ser gio bel da . tod ometer . ui . edit task list Ċ Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . setValue Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġdev . ser gio bel da . tod ometer . common . domain . do If Error Ċ import Ġdev . ser gio bel da . tod ometer . common . domain . do If Success Ċ import Ġdev . ser gio bel da . tod ometer . common . domain . use case . Get TaskList Selected UseCase Ċ import Ġdev . ser gio bel da . tod ometer . common . domain . use case . Update TaskList UseCase Ċ import Ġdev . ser gio bel da . tod ometer . common . ui . error . map To Error Ui Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠEdit TaskList ViewModel ( ĊĠĠĠ Ġprivate Ġval Ġget TaskList Selected UseCase : ĠGet TaskList Selected UseCase , ĊĠĠĠ Ġprivate Ġval Ġupdate TaskList UseCase : ĠUpdate TaskList UseCase Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġvar Ġedit TaskList Ui State Ġby Ġmutable State Of ( Edit TaskList Ui State ( isLoading Ġ= Ġtrue )) ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġget TaskList Selected () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget TaskList Selected () Ġ= ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠ Ġget TaskList Selected UseCase (). collect Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . do If Success Ġ{ Ġtask List Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit TaskList Ui State Ġ= Ġedit TaskList Ui State . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisLoading Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask List Ġ= Ġtask List , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ui Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. do If Error Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit TaskList Ui State Ġ= Ġedit TaskList Ui State . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisLoading Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask List Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ui Ġ= Ġerror . map To Error Ui () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate TaskList ( name : ĠString ) Ġ= ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠ Ġedit TaskList Ui State . task List ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate TaskList UseCase ( it . copy ( name Ġ= Ġname )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ