package Ġcom . mac ode . stop n shop . view . activities čĊč Ċ import Ġandroid . content . Intent č Ċ import Ġandroid . graphics . Color č Ċ import Ġandroid . graphics . drawable . Color Drawable č Ċ import Ġandroidx . appcompat . app . AppCompatActivity č Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . view . View č Ċ import Ġandroidx . appcompat . widget . Toolbar č Ċ import Ġandroidx . core . content . Context Compat č Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager č Ċ import Ġcom . mac ode . stop n shop . R č Ċ import Ġcom . mac ode . stop n shop . databinding . Activity Cart List Binding č Ċ import Ġcom . mac ode . stop n shop . model . Cart Item č Ċ import Ġcom . mac ode . stop n shop . model . Product č Ċ import Ġcom . mac ode . stop n shop . utilities . Constants č Ċ import Ġcom . mac ode . stop n shop . utilities . SN SE dit Text č Ċ import Ġcom . mac ode . stop n shop . utilities . SN ST ext View č Ċ import Ġcom . mac ode . stop n shop . view . adapters . Cart ListAdapter čĊč Ċ class ĠCart List Activity Ġ: ĠBase Activity () Ġ{ čĊčĊĠĠĠ Ġprivate Ġvar Ġbinding : ĠActivity Cart List Binding ? Ġ= Ġnull čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) čĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Cart List Binding . inflate ( layout Inflater ) čĊĠĠĠĠĠĠĠ ĠsetContentView ( binding !!. root ) čĊčĊĠĠĠĠĠĠĠ ĠsetUp Toolbar () čĊčĊĠĠĠĠĠĠĠ Ġbinding !!. checkout Button . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this @ Cart List Activity , ĠCheckout Activity :: class . java ) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun ĠsetUp Toolbar () Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġtoolbar Ġ= ĠfindViewById < Toolbar >( R . id . cart List Toolbar ) čĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) čĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) čĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Home As Up Indicator ( R . drawable . back _ white ) čĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. title Ġ= Ġ" My ĠCart " čĊĠĠĠĠĠĠĠ Ġtoolbar . setTitle TextColor ( Color . WHITE ) čĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. setBackground Drawable ( Context Compat . get Drawable ( this @ Cart List Activity , ĠR . drawable . gradient _ background )) čĊĠĠĠĠĠĠĠ Ġtoolbar . setTitle TextColor ( Color . parse Color ("# FFFFFF ")) čĊĠĠĠĠĠĠĠ Ġtoolbar . set Navigation OnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on Resume () čĊĠĠĠĠĠĠĠ ĠgetAll Products List () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġget Cart List From Fire Store () Ġ{ čĊĠĠĠĠĠĠĠ Ġfire Store Class . get Cart List ( this @ Cart List Activity ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġcart List Retrie val Success ( cart List : ĠArrayList < Cart Item >) Ġ{ čĊĠĠĠĠĠĠĠ Ġhide Progress Dialog () čĊčĊĠĠĠĠĠĠĠ Ġfor Ġ( product Ġin Ġproduct List ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( cart Item Ġin Ġcart List ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product . id Ġ== Ġcart Item . product ID ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcart Item . stock Quantity Ġ= Ġproduct . stock Quantity čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( product . stock Quantity . toInt () Ġ== Ġ 0 ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcart Item . cart Quantity Ġ= Ġproduct . stock Quantity čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġcart Items List Ġ= Ġcart List čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( cart Items List . size Ġ> Ġ 0 ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. no Cart Items Found . visibility Ġ= ĠView . GONE čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. cart List RecyclerView . visibility Ġ= ĠView . VISIBLE čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. cart List RecyclerView . layout Manager Ġ= ĠLinearLayoutManager ( this @ Cart List Activity ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. cart List RecyclerView . set Has Fixed Size ( true ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcart Adapter Ġ= ĠCart ListAdapter ( this @ Cart List Activity , Ġcart Items List , Ġtrue ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. cart List RecyclerView . adapter Ġ= Ġcart Adapter čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Cart Price Calcul ations () čĊčĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. no Cart Items Found . visibility Ġ= ĠView . VISIBLE čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding !!. cart List RecyclerView . visibility Ġ= ĠView . GONE čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Cart Price Calcul ations () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġall Products List Success ( products List : ĠArrayList < Product >) Ġ{ čĊĠĠĠĠĠĠĠ Ġhide Progress Dialog () čĊĠĠĠĠĠĠĠ Ġproduct List Ġ= Ġproducts List čĊčĊĠĠĠĠĠĠĠ Ġget Cart List From Fire Store () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun ĠgetAll Products List () Ġ{ čĊĠĠĠĠĠĠĠ Ġshow Progress Dialog (" Retrie ving Ġyour Ġcart ...") čĊĠĠĠĠĠĠĠ Ġfire Store Class . getAll Products List ( this @ Cart List Activity ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġget Cart Price Calcul ations () Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġsub total : ĠDouble Ġ= ĠString . format ("% . 2 f ", Ġ 0 . 0 0 ). toDouble () čĊĠĠĠĠĠĠĠ Ġfor Ġ( item Ġin Ġcart Items List ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġavailable Quantity Ġ= Ġitem . stock Quantity . toInt () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( available Quantity Ġ> Ġ 0 ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprice Ġ= Ġitem . price . toDouble () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquantity Ġ= Ġitem . cart Quantity . toInt () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub total Ġ+= Ġ( price Ġ* Ġquantity ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġcheck C ents Decimal Placement ( subtotal , Ġbinding !!. subtotal Number ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġtax Total Number : ĠDouble Ġ= Ġsub total Ġ* Ġ(. 1 0 4 ) čĊĠĠĠĠĠĠĠ Ġval Ġtax Total : ĠDouble Ġ= ĠString . format ("% . 2 f ", Ġtax Total Number ). toDouble () čĊĠĠĠĠĠĠĠ Ġcheck C ents Decimal Placement ( tax Total , Ġbinding !!. wa Sales Tax Number ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġtotal Amount Number : ĠDouble Ġ= Ġsub total Ġ+ Ġtax Total čĊĠĠĠĠĠĠĠ Ġval Ġtotal Amount : ĠDouble Ġ= ĠString . format ("% . 2 f ", Ġtotal Amount Number ). toDouble () čĊĠĠĠĠĠĠĠ Ġcheck C ents Decimal Placement ( total Amount , Ġbinding !!. total Amount Number ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġdelete Cart Item Success ( title : ĠString ) Ġ{ čĊĠĠĠĠĠĠĠ Ġhide Progress Dialog () čĊĠĠĠĠĠĠĠ Ġshow Error Sn ackBar ("$ title Ġsuccessfully Ġdeleted Ġfrom Ġyour Ġcart !", Ġfalse ) čĊĠĠĠĠĠĠĠ Ġget Cart List From Fire Store () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġcart Item Update Success () Ġ{ čĊĠĠĠĠĠĠĠ Ġget Cart List From Fire Store () čĊĠĠĠ Ġ} č Ċ }