package Ġcom . adapters Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . data . Order Ċ import Ġcom . raz i . f urn itar . databinding . Layout History Binding Ċ import Ġcom . utils . Config Ċ Ċ class ĠOrder Adapter ( private Ġval Ġorder Interface : ĠOrder Interface ) Ġ: ĊĠĠĠĠĠĠĠ ĠList Adapter < Order , ĠOrder Adapter . Customer ViewHolder >( Diff Callback ()) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Order Adapter " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠCustomer ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayout History Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠCustomer ViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠCustomer ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Item Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ Ġholder . bind ( currentItem ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinner Ġclass ĠCustomer ViewHolder ( private Ġval Ġbinding : ĠLayout History Binding ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġadapter Position ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position Ġ!= ĠRecyclerView . NO _ POSITION ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder Interface . onClick ( getItem ( position )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( order : ĠOrder ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv ProductName . text Ġ= Ġorder . product Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Amount . text Ġ= Ġ" Rs . Ġ${ order . total }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Qty . text Ġ= Ġ" Qty : Ġ${ order . qty }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Date . text Ġ= Ġ"${ order . createdAt }" ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( root . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( Config . imageUrl Ġ+ Ġorder . product Img ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( product Image ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠDiff Callback Ġ: ĠDiff Util . Item Callback < Order >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old : ĠOrder , Ġa New : ĠOrder ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold . productId Ġ== Ġa New . productId ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old : ĠOrder , Ġa New : ĠOrder ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Ġ== Ġa New ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOrder Interface Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick ( order : ĠOrder ) ĊĠĠĠ Ġ} Ċ Ċ }