package Ġio . github . sky walk erd ar ren . simple accounting . view _ model čĊč Ċ import Ġandroidx . lifecycle . LiveData č Ċ import Ġandroidx . lifecycle . Mutable LiveData č Ċ import Ġandroidx . lifecycle . Transform ations č Ċ import Ġandroidx . lifecycle . ViewModel č Ċ import Ġio . github . sky walk erd ar ren . simple accounting . model . entity . Account č Ċ import Ġio . github . sky walk erd ar ren . simple accounting . model . repository . App Repository č Ċ import Ġio . github . sky walk erd ar ren . simple accounting . util . view . Format Util č Ċ import Ġorg . joda . time . DateTime čĊč Ċ /** čĊ Ġ* Ġ è´¦æĪ· é¡µ vm čĊ Ġ* čĊ Ġ* Ġ@ author Ġdar ren čĊ Ġ* Ġ@ date Ġ 2 0 1 8 / 4 / 4 čĊ Ġ*/ č Ċ class ĠAccount ViewModel ( private Ġval Ġm Repository : ĠApp Repository ) Ġ: ĠViewModel () Ġ{ čĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* Ġ@ return Ġ åĩ Ģ èµĦ äº§ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġval Ġnav Ġ= ĠMutable LiveData < String >() čĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* Ġ@ return Ġ è´Ł åĢ º čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġval Ġli ability Ġ= ĠMutable LiveData < String >() čĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* Ġ@ return Ġ æĢ» èµĦ äº§ čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġval Ġtotal Assets Ġ= ĠMutable LiveData < String >() čĊĠĠĠ Ġprivate Ġval Ġaccounts Ġ= ĠMutable LiveData < List < Account >>() čĊĠĠĠ Ġ/** čĊĠĠĠĠ Ġ* Ġ@ return Ġ è´¦æĪ· æķ° çĽ® čĊĠĠĠĠ Ġ*/ čĊĠĠĠ Ġval Ġaccount Size Ġ= ĠTransform ations . map ( accounts ) Ġ{ Ġinput : ĠList < Account > Ġ-> Ġinput . size . toString () Ġ} čĊčĊĠĠĠ Ġfun Ġstart () Ġ{ čĊĠĠĠĠĠĠĠ Ġm Repository . get Accounts Ġ{ Ġaccounts : ĠList < Account >? Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Account ViewModel . accounts . value Ġ= Ġaccounts čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġm Repository . get Bill Stats ( DateTime ( 0 ), ĠDateTime . now ()) Ġ{ Ġbill Stats Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav . value Ġ= ĠFormat Util . get Numeric ( bill Stats ?. sum ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġli ability . value Ġ= ĠFormat Util . get Numeric ( bill Stats ?. expense ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Assets . value Ġ= ĠFormat Util . get Numeric ( bill Stats ?. income ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġchange Position ( a : ĠAccount , Ġb : ĠAccount ) Ġ{ čĊĠĠĠĠĠĠĠ Ġm Repository . change Position ( a , Ġb ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġget Accounts (): ĠLive Data < List < Account >> Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġaccounts čĊĠĠĠ Ġ} čĊč Ċ }