package Ġpayment . sdk . android . demo . products ĊĊ Ċ import Ġpayment . sdk . android . demo . App Ċ import Ġpayment . sdk . android . R Ċ import Ġpayment . sdk . android . demo . products . data . Product Domain Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . design . widget . Snackbar Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ProgressBar Ċ import Ġandroid . widget . Toast Ċ import Ġbutter knife . BindView Ċ import Ġbutter knife . B utter Kn ife Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠProducts Fragment Ġ: ĠFragment (), ĠProducts Fragment Contract . View Ġ{ ĊĊĠĠĠ Ġ@ BindView ( R . id . progress ) ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġprogress View : ĠProgress Bar ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġadapter : ĠProducts Adapter ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġpresenter : ĠProducts Fragment Contract . Presenter ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ products , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠB utter Kn ife . bind ( this , Ġview ) ĊĊĠĠĠĠĠĠĠ Ġcreate Products Component ( this ). inject ( this ) ĊĊĠĠĠĠĠĠĠ Ġval Ġproducts View : ĠRecyclerView Ġ= Ġview . findViewById ( R . id . products ) ĊĠĠĠĠĠĠĠ Ġproducts View . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġpresenter . init () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind Data ( products : ĠList < Product Domain >) Ġ{ ĊĠĠĠĠĠĠĠ Ġadapter . setData ( products ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Progress ( show : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprogress View . visibility Ġ= Ġif Ġ( show ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error ( message : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠSn ackbar . make ( view !! , Ġmessage Ġ?: Ġ" No Ġerror Ġmessage Ġsupplied ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . cleanup () ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate Products Component ( fragment : ĠProducts Fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠProducts Fragment Component Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbase Component Ġ= Ġ( fragment . activity ?. application Ġas ĠApp ). base Component ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠD agger Products Fragment Component . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. view ( fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. base Component ( base Component ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ