package Ġcom . y ad ani il . bit curve . screens . add Ċ Ċ import Ġandroid . arch . lifecycle . LiveData Ċ import Ġandroid . arch . lifecycle . Mutable LiveData Ċ import Ġcom . y ad ani il . bit curve . Base ViewModel Ċ import Ġcom . y ad ani il . bit curve . data . Repository Ċ import Ġcom . y ad ani il . bit curve . data . db . models . Account Entity Ċ import Ġcom . y ad ani il . bit curve . logic . Accounts Manager Ċ import Ġcom . y ad ani il . bit curve . logic . Wallet Helper Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġdan iel y ak ov lev Ġon Ġ 3 / 1 6 / 1 8 . Ċ Ġ*/ Ċ Ċ class ĠAdd Account ViewModel ( private Ġval Ġaccounts Manager : ĠAccounts Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġwallet Helper : ĠWallet Helper , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġrepo : ĠRepository ) Ġ: ĠBase ViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġis Account Created LiveData : ĠMutable LiveData < Boolean >? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġcreate Account ( account Label : ĠString , Ġcoin Type : ĠString ): ĠLive Data < Boolean > Ġ{ ĊĠĠĠĠĠĠĠ Ġis Account Created LiveData Ġ= ĠMutable LiveData () ĊĊĠĠĠĠĠĠĠ ĠComp letable . from Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccount Entity Ġ= ĠAccount Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠaccountId Ġ= Ġaccounts Manager . getId For New Account ( coin Type ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġaccount Label , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreation Time Ġ= ĠDate (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin Type Ġ= Ġcoin Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepo . save New Account ( account Entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccounts Manager . add Account ( account Entity , Ġwallet Helper . get Wallet ()) ĊĠĠĠĠĠĠĠ Ġ}. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Account Created LiveData ?. post Value ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Account Created LiveData ?. post Value ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġis Account Created LiveData Ġ?: ĠMutable LiveData () ĊĠĠĠ Ġ} ĊĊ Ċ }