package Ġio . hot mo ka . android . mo kit o . view . accounts Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroid . view . View . GONE Ċ import Ġandroid . view . View . VISIBLE Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġio . hot mo ka . android . mo kit o . R Ċ import Ġio . hot mo ka . android . mo kit o . databinding . Account Card Binding Ċ import Ġio . hot mo ka . android . mo kit o . databinding . Fragment Accounts Binding Ċ import Ġio . hot mo ka . android . mo kit o . model . Account Ċ import Ġio . hot mo ka . android . mo kit o . model . Accounts Ċ import Ġio . hot mo ka . android . mo kit o . model . Fa uc et Ċ import Ġio . hot mo ka . android . mo kit o . view . Abstract Fragment Ċ import Ġio . hot mo ka . android . mo kit o . view . accounts . Accounts Fragment Directions .* Ċ import Ġio . hot mo ka . beans . Coin Ċ import Ġjava . math . BigDecimal Ċ import Ġjava . math . BigInteger Ċ import Ġandroid . view . Menu Inflater Ċ import Ġandroidx . appcompat . widget . PopupMenu ĊĊ Ċ class ĠAccounts Fragment Ġ: ĠAbstract Fragment < Fragment Accounts Binding >() Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter : ĠRe cycler Adapter ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" Object PropertyName ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġ_ 1 0 0 0 Ġ= ĠBigDecimal ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġids Of Pl urals Of Coins Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . plurals . pan areas , ĠR . plurals . alic ud is , ĠR . plurals . fil ic ud is , ĠR . plurals . st rom bol is , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . plurals . vul can os , ĠR . plurals . sal inas , ĠR . plurals . li par is , ĠR . plurals . mo kas ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġset Binding ( Fragment Accounts Binding . inflate ( in flater , Ġcontainer , Ġfalse )) ĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠRe cycler Adapter () ĊĠĠĠĠĠĠĠ Ġbinding . re cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġbinding . re cyclerView . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu , Ġinflater : ĠMenu Inflater ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . menu . accounts , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate Options Menu ( menu , Ġinflater ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ reload Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Controller (). request Accounts () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ import Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( to Import Account ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ create _ key Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCreate Key Dialog Fragment . show ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġshow Or Request Accounts () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Or Request Accounts () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaccounts Ġ= ĠgetModel (). get Accounts () ĊĠĠĠĠĠĠĠ Ġif Ġ( accounts Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Accounts Changed ( accounts ) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Controller (). request Accounts () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Accounts Changed ( accounts : ĠAccounts ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( accounts . getAll (). all Match Ġ{ Ġaccount Ġ-> Ġaccount Ġis ĠF auc et Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġif Ġthere Ġare Ġno Ġaccounts Ġbut Ġthe Ġfauc et , Ġwe Ġcreate Ġa Ġquick ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġlink Ġfor Ġthe Ġcreation Ġof Ġa Ġnew Ġkey , Ġas Ġa Ġhint Ġto Ġthe Ġuser ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . createNew Key . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . createNew Key . setOnClickListener Ġ{ ĠCreate Key Dialog Fragment . show ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . createNew Key . visibility Ġ= ĠG ONE ĊĊĠĠĠĠĠĠĠ Ġadapter . set Accounts ( accounts ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠRe cycler Adapter : ĠRecyclerView . Adapter < Recycler Adapter . ViewHolder >() Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġaccounts Ġ= Ġempty Array < Account >() ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" Notify DataSet Changed ") ĊĠĠĠĠĠĠĠ Ġfun Ġset Accounts ( accounts : ĠAccounts ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . accounts Ġ= Ġaccounts . getAll (). toArray Ġ{ Ġi Ġ-> ĠarrayOf Null s ( i ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġinner Ġclass ĠViewHolder ( val Ġbinding : ĠAccount Card Binding ): ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠBind s Ġthe Ġview Ġholder Ġto Ġan Ġaccount Ġthat Ġis Ġactually Ġa Ġpublic Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Ġstill Ġwaiting Ġfor Ġthe Ġcorresponding Ġaccount Ġobject Ġto Ġbe Ġcreated . ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġbind To Key ( account : ĠAccount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Card Background ( R . color . key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . name . text Ġ= Ġaccount . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . reference . text Ġ= ĠgetString ( R . string . waiting _ for _ payment _ to _ this _ key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . balance . visibility Ġ= ĠG ONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . menu Button . setOnClickListener Ġ{ Ġcreate Menu ForKey ( account ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate Menu ForKey ( account : ĠAccount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpopup Ġ= ĠPopup Menu ( context , Ġbinding . menu Button ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . menu Inflater . inflate ( R . menu . key _ actions , Ġpopup . menu ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . setOn MenuItem ClickListener { Ġitem Ġ-> Ġclick Listener ForKey ( item , Ġaccount ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġclick Listener ForKey ( item : ĠMenuItem , Ġaccount : ĠAccount ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ receive _ into _ key Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( to Receive Coins ( account )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ show _ or _ edit _ key Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( to Show Account ( account )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ delete _ key Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDelete Account Confirmation Dialog Fragment . show ( this @ Accounts Fragment , Ġaccount ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠBind s Ġthe Ġview Ġholder Ġto Ġan Ġaccount Ġthat Ġis Ġactually Ġthe Ġfauc et Ġof Ġthe Ġnode . ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġbind To Fa uc et ( account : ĠAccount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Card Background ( R . color . fa uc et ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . name . text Ġ= Ġaccount . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . reference . text Ġ= Ġaccount . reference . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbalance Is Visible ( account ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . menu Button . setOnClickListener Ġ{ Ġcreate Menu For Fa uc et ( account ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate Menu For Fa uc et ( account : ĠAccount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpopup Ġ= ĠPopup Menu ( context , Ġbinding . menu Button ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . menu Inflater . inflate ( R . menu . fa uc et _ actions , Ġpopup . menu ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . setOn MenuItem ClickListener { Ġitem Ġ-> Ġclick Listener For Fa uc et ( item , Ġaccount ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġclick Listener For Fa uc et ( item : ĠMenuItem , Ġaccount : ĠAccount ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ new _ account _ from _ fa uc et Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( to Create New Account ( account )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ receive _ into _ fa uc et Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( to Receive Coins ( account )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ send _ from _ fa uc et Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( to Send Coins ( account )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠBind s Ġthe Ġview Ġholder Ġto Ġan Ġaccount Ġthat Ġis Ġnot Ġthe Ġfauc et Ġand Ġis Ġaccessible . ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġbind To Accessible ( account : ĠAccount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Card Background ( R . color . accessible _ account ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . name . text Ġ= Ġaccount . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . reference . text Ġ= Ġaccount . reference . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbalance Is Visible ( account ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . menu Button . setOnClickListener Ġ{ Ġcreate Menu For Accessible ( account ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate Menu For Accessible ( account : ĠAccount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpopup Ġ= ĠPopup Menu ( context , Ġbinding . menu Button ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . menu Inflater . inflate ( R . menu . accessible _ account _ actions , Ġpopup . menu ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . setOn MenuItem ClickListener { Ġitem Ġ-> Ġclick Listener For Accessible ( item , Ġaccount ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġclick Listener For Accessible ( item : ĠMenuItem , Ġaccount : ĠAccount ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ new _ account _ from _ account Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( to Create New Account ( account )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ receive _ into _ account Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( to Receive Coins ( account )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ send _ from _ account Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( to Send Coins ( account )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ show _ or _ edit _ account Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( to Show Account ( account )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ delete _ account Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDelete Account Confirmation Dialog Fragment . show ( this @ Accounts Fragment , Ġaccount ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* ĠBind s Ġthe Ġview Ġholder Ġto Ġan Ġaccount Ġthat Ġis Ġnot Ġthe Ġfauc et Ġand Ġis Ġin accessible . ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġbind To In accessible ( account : ĠAccount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Card Background ( R . color . in accessible _ account ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . name . text Ġ= Ġaccount . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . reference . text Ġ= Ġaccount . reference . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . balance . text Ġ= Ġresources . getString ( R . string . account _ not _ accessible ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . balance . visibility Ġ= ĠG ONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . menu Button . setOnClickListener Ġ{ Ġcreate Menu For In accessible ( account ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate Menu For In accessible ( account : ĠAccount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpopup Ġ= ĠPopup Menu ( context , Ġbinding . menu Button ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . menu Inflater . inflate ( R . menu . in accessible _ account _ actions , Ġpopup . menu ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . setOn MenuItem ClickListener { Ġitem Ġ-> Ġclick Listener For In accessible ( item , Ġaccount ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup . show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġclick Listener For In accessible ( item : ĠMenuItem , Ġaccount : ĠAccount ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ show _ or _ edit _ account Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( to Show Account ( account )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ delete _ account Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDelete Account Confirmation Dialog Fragment . show ( this @ Accounts Fragment , Ġaccount ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġset Card Background ( color : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . card . background Tint List Ġ= ĠColor State List . valueOf ( Context Compat . getColor ( context , Ġcolor )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġbalance Is Visible ( account : ĠAccount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . balance . text Ġ= Ġdescription Of Balance ( account . balance , Ġaccount . coin ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . balance . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġfun Ġdescription Of Balance ( balance : ĠBigInteger , Ġcoin : ĠCoin ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdecimal Ġ= ĠBigDecimal ( balance ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( level Ġin Ġ 0 Ġuntil Ġcoin . ordinal ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdecimal Ġ= Ġdecimal . divide (_ 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresources . get Quantity String ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġids Of Pl urals Of Coins [ coin . ordinal ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( decimal Ġ== ĠBigDecimal . ONE ) Ġ 1 Ġelse Ġ 1 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdecimal . to Plain String () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġbind To ( account : ĠAccount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Ġis ĠF auc et Ġ-> Ġbind To Fa uc et ( account ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount . is Key () Ġ-> Ġbind To Key ( account ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount . is Accessible Ġ-> Ġbind To Accessible ( account ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġbind To In accessible ( account ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( view Group : ĠViewGroup , Ġi : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Card Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( view Group . context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Group , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( view Holder : ĠViewHolder , Ġi : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . bind To ( accounts [ i ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġaccounts . size ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }