package Ġcom . pay m aya . sdk . android . demo . ui . shop Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . pay m aya . sdk . android . demo . R Ċ import Ġcom . pay m aya . sdk . android . demo . di . Presenter Module Ċ import Ġcom . pay m aya . sdk . android . demo . model . Shop Item Ċ import Ġcom . pay m aya . sdk . android . demo . ui . cart . Cart Activity Ċ import Ġkotlinx . android . synt hetic . main . activity _ shop .* Ċ Ċ type alias ĠOn AddTo Cart RequestListener Ġ= Ġ( shop Item : ĠShop Item ) Ġ-> ĠUnit Ċ Ċ class ĠShop Activity Ġ: ĠActivity (), ĠShop Contract . View Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlinear LayoutManager : ĠLinearLayoutManager ĊĠĠĠ Ġprivate Ġval Ġpresenter : ĠShop Contract . Presenter Ġby Ġlazy Ġ{ ĠPres enter Module . get Shop Presenter () Ġ} ĊĠĠĠ Ġprivate Ġvar Ġadapter Ġ= ĊĠĠĠĠĠĠĠ ĠShop Item Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon AddTo Cart RequestListener Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . addTo Cart Button Clicked ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ shop ) ĊĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġpresenter . view Created ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġpresenter . view Res umed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpopulate View ( products List : ĠList < Shop Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġadapter . set Items ( products List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġlinear LayoutManager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġshop _ products _ list . layout Manager Ġ= Ġlinear LayoutManager ĊĠĠĠĠĠĠĠ Ġshop _ products _ list . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġgo _ to _ cart _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠCart Activity :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Badge Counter ( value : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgo _ to _ cart _ button . text Ġ= Ġif Ġ( value Ġ> Ġ 0 ) Ġ" Go Ġto ĠCart Ġ($ value )" Ġelse Ġ" Go Ġto ĠCart " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . view Destroyed () ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} Ċ } Ċ