package Ġcom . blocks decoded . coin wave . presentation . coins Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroidx . swiper ef resh layout . widget . Swipe Refresh Layout Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġbutter knife . BindView Ċ import Ġbutter knife . OnClick Ċ import Ġcom . blocks decoded . coin wave . R Ċ import Ġcom . blocks decoded . coin wave . data . model . coin . Coin Entity Ċ import Ġcom . blocks decoded . coin wave . presentation . coin info . Coin Info Activity Ċ import Ġcom . blocks decoded . coin wave . presentation . coins . recycler . Coins Adapter Ċ import Ġcom . blocks decoded . coin wave . presentation . coins . recycler . Coin ViewHolder Ċ import Ġcom . blocks decoded . coin wave . presentation . sort . Coins Cache Ċ import Ġcom . blocks decoded . coin wave . presentation . widgets . Coins Header View Ċ import Ġcom . blocks decoded . coin wave . util . Date Helper Ċ import Ġcom . blocks decoded . core . mvp . Base M vp Fragment Ċ import Ġcom . blocks decoded . utils .* Ċ import Ġcom . blocks decoded . utils . extensions .* Ċ import Ġorg . k oin . android . ext . android . inject Ċ import Ġorg . k oin . core . parameter . parameters Of Ċ import Ġjava . util .* Ċ Ċ open Ġclass ĠCoin s Fragment Ġ: ĠBase M vp Fragment < IC oin s Contract . Presenter >(), ĊĠĠĠ ĠI Coins Contract . View , ĊĠĠĠ ĠCoin ViewHolder . Coin VH Listener Ġ{ ĊĠĠĠ Ġoverride Ġval Ġpresenter : ĠI Coins Contract . Presenter Ġby Ġinject Ġ{ Ġparameters Of ( this @ Coins Fragment , Ġcontext ) Ġ} ĊĠĠĠ Ġoverride Ġval Ġlayout Id : ĠInt Ġ= ĠR . layout . fragment _ coins _ list ĊĊĠĠĠ Ġ@ BindView ( R . id . fragment _ coin _ list _ recycler ) ĊĠĠĠ Ġlateinit Ġvar Ġm Recycler : ĠRecyclerView ĊĠĠĠ Ġ@ BindView ( R . id . fragment _ coin _ list _ refresh ) ĊĠĠĠ Ġlateinit Ġvar Ġm Swipe Refresh Layout : ĠSw ipe Refresh Layout ĊĠĠĠ Ġ@ BindView ( R . id . fragment _ coin _ list _ error ) ĊĠĠĠ Ġlateinit Ġvar Ġm Error Container : ĠView ĊĠĠĠ Ġ@ BindView ( R . id . connection _ error _ retry ) ĊĠĠĠ Ġlateinit Ġvar Ġm Retry : ĠView ĊĠĠĠ Ġ@ BindView ( R . id . fragment _ coin _ list _ header ) ĊĠĠĠ Ġlateinit Ġvar Ġm List Header : ĠCoin s Header View ĊĠĠĠ Ġ@ BindView ( R . id . fragment _ coins _ progress ) ĊĠĠĠ Ġlateinit Ġvar Ġm Loading Progress : ĠView ĊĠĠĠ Ġ@ BindView ( R . id . fragment _ coins _ last _ updated ) ĊĠĠĠ Ġlateinit Ġvar Ġm Last Updated : ĠTextView ĊĊĠĠĠ Ġprivate Ġvar Ġm Adapter : ĠCoin s Adapter ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Active Dialog : ĠDialog ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ OnClick ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . coin _ menu ĊĠĠĠ Ġ) ĊĠĠĠ Ġfun ĠonClick ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( view . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . coin _ menu Ġ-> Ġpresenter . on Menu Click () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// region ĠLifecycle ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġm Active Dialog ?. dismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View ( root View : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm List Header . set Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . on Sort Click ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcontext ?. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . set Padding ( 0 , Ġit . status Bar Height , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Adapter Ġ= ĠCoin s Adapter ( array ListOf (), Ġthis ) ĊĊĠĠĠĠĠĠĠ Ġm Retry . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . getC oin s () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Swipe Refresh Layout . setOn Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . getC oin s () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlm Ġ= ĠLinearLayoutManager ( context , ĠRecyclerView . VERTICAL , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġm Recycler . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġm Recycler . layout Manager Ġ= Ġlm ĊĠĠĠĠĠĠĠ Ġm Recycler . adapter Ġ= Ġm Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// endregion ĊĊĠĠĠ Ġ// region ĠViewHolder ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on Coin Click ( position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// endregion ĊĊĠĠĠ Ġ// region ĠContract ĊĊĠĠĠ Ġoverride Ġfun Ġshow Sort Type ( sort Type : ĠCoin s Cache . Coin Sort Enum ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm List Header . current Sort Ġ= Ġsort Type ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġopen Coin Info ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCoin Info Activity . start ( it , Ġid ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Coin ( position : ĠInt , Ġcoin Entity : ĠCoin Entity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter ?. update Item ( coin Entity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete Coin ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter ?. delete Item ( position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Coins ( coins : ĠList < Coin Entity >) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Error Container . hide () ĊĠĠĠĠĠĠĠ Ġm Adapter ?. set Items ( coins ) ĊĠĠĠĠĠĠĠ Ġm Recycler . post Ġ{ Ġm Recycler . scrollTo Position ( 0 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Network Error ( hide List : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( hide List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Error Container . visible () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Short Toast ( context , ĠgetString ( R . string . message _ connection _ error )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Swipe Refresh Layout . is Refresh ing Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Swipe Refresh Layout . is Refresh ing Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġm Error Container . hide () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Loading Progress . visible () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Loading Progress . invisible () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Last Updated ( date : ĠDate ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Last Updated . set Colo ured Span After ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . last _ updated , ĠDate Helper . get Relative Date ( date )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" :", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Last Updated . context . getColor Res ( R . color . green )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Last Updated () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide List () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Recycler . invisible () ĊĠĠĠĠĠĠĠ Ġm List Header . invisible () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow List () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Recycler . visible () ĊĠĠĠĠĠĠĠ Ġm List Header . visible () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// endregion ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠCoin s Fragment () ĊĠĠĠ Ġ} Ċ }