package Ġcom . mat ts k ala . tre z or wallet . ui . transaction detail Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . mat ts k ala . tre z or wallet . data . entity . Transaction Output Ċ import Ġcom . mat ts k ala . tre z or wallet . data . entity . Transaction With InOut Ċ import Ġcom . mat ts k ala . tre z or wallet . data . repository . Transaction Repository Ċ import Ġcom . mat ts k ala . tre z or wallet . label ing . Label ing Manager Ċ import Ġcom . mat ts k ala . tre z or wallet . ui . Base ViewModel Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . kode in . di . generic . instance Ċ Ċ /** Ċ Ġ* ĠA ĠViewModel Ġfor ĠTransaction Detail Activity . Ċ Ġ*/ Ċ class ĠTransaction Detail ViewModel ( app : ĠApplication ) Ġ: ĠBase ViewModel ( app ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġlabel ing : ĠLabel ing Manager Ġby Ġinstance () ĊĠĠĠ Ġprivate Ġval Ġtransaction Repository : ĠTransaction Repository Ġby Ġinstance () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠaccountId : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtx id : ĠString ĊĊĠĠĠ Ġval Ġtransaction Ġ= ĠMutable LiveData < Transaction With InOut >() ĊĊĠĠĠ Ġvar Ġselected Output : ĠTransaction Output ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġstart ( accountId : ĠString , Ġtx id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this :: tx id . isInitialized ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġthis . accountId Ġ= ĠaccountId ĊĠĠĠĠĠĠĠ Ġthis . tx id Ġ= Ġtx id ĊĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . value Ġ= Ġtransaction Repository . getBy Tx id ( accountId , Ġtx id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Output Label ( label : ĠString ) Ġ= ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠ Ġlabel ing . setOutput Label ( selected Output !! , Ġlabel ) ĊĠĠĠĠĠĠĠ Ġtransaction . value Ġ= Ġtransaction . value ĊĠĠĠĠĠĠĠ Ġselected Output Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }