/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠF rol lo Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġus . f rol lo . f rol lo sdk sample . view . reports Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . recyclerview . widget . Divider Item Decoration Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġkotlinx . android . synt hetic . main . activity _ report _ accounts _ list .* Ċ import Ġorg . jetbrains . ank o . startActivity Ċ import Ġus . f rol lo . f rol lo sdk . F rol lo SDK Ċ import Ġus . f rol lo . f rol lo sdk . base . Resource Ċ import Ġus . f rol lo . f rol lo sdk . model . core data . aggregation . accounts . Account Relation Ċ import Ġus . f rol lo . f rol lo sdk sample . R Ċ import Ġus . f rol lo . f rol lo sdk sample . base . ARGUMENT Ċ import Ġus . f rol lo . f rol lo sdk sample . base . Base Stack Activity Ċ import Ġus . f rol lo . f rol lo sdk sample . utils . display Error Ċ import Ġus . f rol lo . f rol lo sdk sample . utils . observe Ċ import Ġus . f rol lo . f rol lo sdk sample . view . reports . adapters . Report Accounts Adapter Ċ Ċ class ĠReports Accounts List Activity Ġ: ĠBase Stack Activity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Accounts Activity " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġaccounts Adapter Ġ= ĠReport Accounts Adapter () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġinit LiveData () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġre cycler _ accounts . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item Decoration ( Divider Item Decoration ( this @ Reports Accounts List Activity , ĠLinearLayoutManager . VERTICAL )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġaccounts Adapter . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click Ġ{ Ġmodel , Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel ?. let Ġ{ Ġshow Reports ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit LiveData () Ġ{ ĊĠĠĠĠĠĠĠ ĠF rol lo SDK . aggregation . fetch Account sWith Relation (). observe ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ?. status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource . Status . SUCCESS Ġ-> Ġit . data ?. let Ġ{ Ġaccounts Ġ-> Ġload Accounts ( accounts ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource . Status . ERROR Ġ-> Ġdisplay Error ( it . error ?. localized Description , Ġ" Fetch ĠAccounts ĠFailed ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Accounts ( accounts : ĠList < Account Relation >) Ġ{ ĊĠĠĠĠĠĠĠ Ġaccounts Adapter . replaceAll ( accounts ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Reports ( account : ĠAccount Relation ) Ġ{ ĊĠĠĠĠĠĠĠ Ġaccount . account ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity < Accounts Balances Activity >( ARGUMENT . ARG _ DATA _ 1 Ġto Ġit . accountId ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġresource Id : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠR . layout . activity _ report _ accounts _ list Ċ } Ċ