package Ġcom . ig or vd . bitcoin charts . features . charts . presentation . home Ċ Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . ig or vd . bitcoin charts . core . presentation . extensions . launch Ċ import Ġcom . ig or vd . bitcoin charts . features . charts . databinding . Activity Charts Home Binding Ċ import Ġcom . ig or vd . bitcoin charts . features . charts . presentation . chart . Bitcoin Chart Activity Ċ import Ġcom . ig or vd . bitcoin charts . features . charts . presentation . home . adapter . Stats Category Adapter Ċ import Ġcom . ig or vd . bitcoin charts . features . charts . presentation . home . model . Home State Ċ Ċ class ĠChart s Home Layout Container ( ĊĠĠĠ Ġprivate Ġval Ġactivity : ĠChart s Home Activity , ĊĠĠĠ Ġprivate Ġval Ġview Binding : ĠActivity Charts Home Binding Ċ ) Ġ{ ĊĊĠĠĠ Ġfun ĠsetState ( state : ĠHome State ) Ġ= Ġview Binding . apply Ġ{ ĊĠĠĠĠĠĠĠ Ġstate . set Views Visibility () ĊĠĠĠĠĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠHome State . Show Stats Ġ-> Ġstate . set () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠHome State . Show Error Ġ-> Ġstate . set () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠHome State . set Views Visibility () Ġ= Ġview Binding . apply Ġ{ ĊĠĠĠĠĠĠĠ Ġpb Loading . isVisible Ġ= Ġthis @ set Views Visibility Ġis ĠHome State . Loading ĊĠĠĠĠĠĠĠ Ġn sv Root . isVisible Ġ= Ġthis @ set Views Visibility Ġis ĠHome State . Show Stats ĊĠĠĠĠĠĠĠ Ġerror View . isVisible Ġ= Ġthis @ set Views Visibility Ġis ĠHome State . Show Error ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠHome State . Show Stats . set () Ġ= Ġview Binding . apply Ġ{ ĊĠĠĠĠĠĠĠ Ġtv Charts Home Title . text Ġ= Ġhome Screen . title ĊĠĠĠĠĠĠĠ Ġtv Charts Home Description . text Ġ= Ġhome Screen . description ĊĠĠĠĠĠĠĠ Ġrv Stats Categories . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( rv Stats Categories . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠStats Category Adapter ( home Screen . stats Categories ) Ġ{ Ġchart Type Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠBitcoin Chart Activity . new Intent ( activity , Ġchart Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠHome State . Show Error . set () Ġ= Ġview Binding . apply Ġ{ ĊĠĠĠĠĠĠĠ Ġerror View . setData ( error ViewData ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . viewModel . launch Ġ{ Ġget Home Screen () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }