package Ġcom . r yn k bit . co ffe est ore . product Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . r yn k bit . co ffe est ore . R Ċ import Ġcom . r yn k bit . co ffe est ore . data . entity . Customer Ċ import Ġcom . r yn k bit . co ffe est ore . data . entity . Product Ċ import Ġjava . text . NumberFormat Ċ Ċ class ĠList Product Adapter Ġ: ĠRecyclerView . Adapter < List Product ViewHolder >() Ġ{ ĊĠĠĠ Ġvar Ġproducts Ġ= ĠlistOf < Product >() ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġvar Ġcustomer : ĠCustomer Ġ= ĠCustomer ( 0 , Ġ" Invalid ĠCustomer ") ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠList Product ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠList Product ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ product , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġproducts . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠList Product ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproduct Ġ= Ġproducts [ position ] ĊĊĠĠĠĠĠĠĠ Ġholder . txt ProductName . text Ġ= Ġproduct . name ĊĠĠĠĠĠĠĠ Ġholder . txt Product Price . text Ġ= ĠNumber Format . getC urrency Instance (). format ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct . price ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġholder . txt Product Stock . text Ġ= Ġholder . item View . context . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . in _ stock , Ġproduct . stock ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif ( product . stock Ġ<= Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . set BackgroundColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . resources . getColor ( R . color . m trl _ btn _ bg _ color _ disabled ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener ( List Product ClickListener ( customer , Ġproduct )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠList Product ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠ Ġval Ġtxt ProductName : ĠTextView Ġ= ĠitemView . findViewById ( R . id . txt Customer Balance ) ĊĠĠĠ Ġval Ġtxt Product Price : ĠTextView Ġ= ĠitemView . findViewById ( R . id . txt Product Price ) ĊĠĠĠ Ġval Ġtxt Product Stock : ĠTextView Ġ= ĠitemView . findViewById ( R . id . txt Product Stock ) Ċ }