package Ġcom . book store . ui . main . fragment . book . adapter Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . book store . R Ċ import Ġcom . book store . constant . Book Status Ċ import Ġcom . book store . model . response . book . Book Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . engine . Disk Cache Strategy Ċ import Ġcom . bump tech . glide . load . resource . drawable . Drawable Transition Options Ċ import Ġkotlinx . android . synt hetic . main . item _ list _ book . view .* Ċ Ċ class ĠBook Adapter ( ĊĠĠĠ Ġprivate Ġval Ġbook Item Listener : ĠBook Item Listener Ċ ) Ġ: ĠRecyclerView . Adapter < Book Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġbooks Ġ= Ġmutable ListOf < Book >() ĊĊĠĠĠ Ġfun ĠsetData ( books : ĠList < Book >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . books . clear () ĊĠĠĠĠĠĠĠ Ġthis . books . addAll ( books . filter Ġ{ Ġit . book Status Ġ== ĠBook Status . FOR _ SE LL . toString () Ġ}) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ= ĊĠĠĠĠĠĠĠ ĠViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ list _ book , Ġparent , Ġfalse )) ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġbooks . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ= Ġholder . bind ( books [ position ]) ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" Default Locale ") ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( book : ĠBook ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( item View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( book . imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. disk Cache Strategy ( Disk Cache Strategy . AUT OM AT IC ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. transition ( Drawable Transition Options . with Cross Fade ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . color . color Sh im mer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( R . color . color Sh im mer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( item View . image _ cover ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . text _ name . text Ġ= Ġbook . title . trim (). capitalize () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . text _ category . text Ġ= Ġbook . book Category . name . trim (). capitalize () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . card . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbook Item Listener . on Item Click ( book ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }