package Ġcom . robert . b any ai . w up . presentation . card . detail Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . View Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġandroidx . constraint layout . widget . Guide line Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġcom . robert . b any ai . w up . R Ċ import Ġcom . robert . b any ai . w up . domain . event . Get Card Event Ċ import Ġcom . robert . b any ai . w up . presentation . base . Base Fragment Ċ import Ġcom . robert . b any ai . w up . presentation . base . Toolbar Model Ċ import Ġcom . robert . b any ai . w up . presentation . main . MainActivity Ċ import Ġkotlinx . android . synt hetic . main . fragment _ card _ detail .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ card _ list . textView Available Amount Ċ import Ġkotlinx . android . synt hetic . main . fragment _ card _ list . textView Current Balance Ċ Ċ class ĠCard Detail Fragment Ġ: ĠBase Fragment < Card Detail ViewModel >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġargs : ĠCard Detail Fragment Args Ġby Ġnav Args () ĊĊĠĠĠ Ġoverride Ġfun ĠviewModel Class (): ĠClass < out ĠCard Detail ViewModel > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCard Detail ViewModel :: class . java ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlayout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ card _ detail ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġ( activity Ġas ? ĠMainActivity )?. update Toolbar Title ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToolbar Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgravity Ġ= ĠGr avity . LEFT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġback Button Visibility Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠgetString ( R . string . nav _ title _ card _ details ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . car Detail Stream . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġui Model Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Model ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Current Balance . text Ġ= Ġui Model . current Balance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Available Amount . text Ġ= Ġui Model . available Balance ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Reser v ations . text Ġ= Ġui Model . re servations ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Balance Car ried . text Ġ= Ġui Model . balance Car ried ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Total S pending . text Ġ= Ġui Model . total S pending ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Latest Re Payment . text Ġ= Ġui Model . latest Re Payment ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Account Limit . text Ġ= Ġui Model . card Account Limit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Account Number . text Ġ= Ġui Model . card Account Number ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Main Card Number . text Ġ= Ġui Model . main Card Number ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Main Card Holder Name . text Ġ= Ġui Model . main Card Holder Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Supp lement ary Card Number . text Ġ= Ġui Model . supp lement ary Card Number ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Supp lement ary Card Holder Name . text Ġ= Ġui Model . supp lement ary Card Holder Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Reser v ations Currency . text Ġ= Ġui Model . currency ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Balance Car ried Currency . text Ġ= Ġui Model . currency ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Total S pending Currency . text Ġ= Ġui Model . currency ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Account Limit Currency . text Ġ= Ġui Model . currency ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// making Ġcal cs Ġbased Ġon Ġthe Ġside Ġguidelines ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġguide line Current Balance . set Percentage ( if Ġ( ui Model . current Balance Progress Ġ== Ġ 0 f ) Ġui Model . current Balance Progress Ġ- Ġ 0 . 0 4 f Ġelse Ġui Model . current Balance Progress Ġ+ Ġ 0 . 0 4 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġguide line Available Amount . set Percentage ( if Ġ( ui Model . available Amount Progress Ġ== Ġ 1 f ) Ġui Model . available Amount Progress Ġ- Ġ 0 . 0 4 f Ġelse Ġui Model . available Amount Progress Ġ+ Ġ 0 . 0 4 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . loading Stream . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġshow Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Content . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Content . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . event Stream . onNext ( Get Card Event ( args . card Id )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠGuide line . set Percentage ( guide Percent : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Balance Lp Ġ= Ġlayout Params Ġas ĠConstraint Layout . LayoutParams ĊĠĠĠĠĠĠĠ Ġcurrent Balance Lp . guide Percent Ġ= Ġguide Percent ĊĠĠĠĠĠĠĠ Ġlayout Params Ġ= Ġcurrent Balance Lp ĊĠĠĠ Ġ} Ċ }