package Ġcom . google . android . commerce . adapters Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . databinding . library . base Adapters . BR Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . google . android . commerce . R Ċ import Ġcom . google . android . commerce . data . model . Basket Item Ċ import Ġcom . google . android . commerce . interfaces . Basket Adapter Listener Ċ Ċ class ĠB ask Item Adapter ( listener : ĠB asket Adapter Listener ) Ġ: ĠRecyclerView . Adapter < B ask Item Adapter . Basket ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġitems : ĠList < Basket Item >? Ġ= Ġempty List () ĊĠĠĠ Ġprivate Ġvar Ġcart Listener : ĠB asket Adapter Listener Ġ= Ġlistener ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠB ask Item Adapter . Basket ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding : ĠView Data Binding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Binding Util . inflate ( layout Inflater , ĠR . layout . item _ cart , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠB ask Item Adapter . Basket ViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( items Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems !!. size ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Products List ( list : ĠList < Basket Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems Ġ= Ġlist ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠB ask Item Adapter . Basket ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( items ! ![ position ], Ġcart Listener ) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġclass ĠB asket ViewHolder ( private Ġval Ġbinding : ĠView Data Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( data : ĠAny , Ġcart Listener : ĠB asket Adapter Listener ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . set Variable ( BR . data , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . set Variable ( BR . listener , Ġcart Listener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . execute Pending Bindings () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊ Ċ }