package Ġweb k ul . openc art . mob ik ul . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget .* Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . engine . Disk Cache Strategy Ċ import Ġde . hd od enh of . circle image view . Circle ImageView Ċ import Ġweb k ul . openc art . mob ik ul . handlers . Recent Search Handler Ċ import Ġweb k ul . openc art . mob ik ul . helper . Utils Ċ import Ġweb k ul . openc art . mob ik ul . model . Recent Search Model Ċ import Ġweb k ul . openc art . mob ik ul . R Ċ import Ġweb k ul . openc art . mob ik ul . databinding . Recent Search Layout Binding ĊĊ Ċ class ĠRecent Search ( val ĠmContext : ĠContext , Ġval Ġlist : ĠList < Recent Search Model >) Ġ: ĠRecyclerView . Adapter < Recent Search . My holder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMy holder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Binding Ġ= ĠRecent Search Layout Binding . inflate ( LayoutInflater . from ( mContext ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMy holder ( layout Binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMy holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrecent Search Model Ġ= Ġlist [ position ] ĊĠĠĠĠĠĠĠ Ġholder . layout Binding . data Ġ= Ġrecent Search Model ĊĠĠĠĠĠĠĠ Ġif Ġ( recent Search Model . product Image Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( mContext ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( recent Search Model . product Image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . placeholder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. disk Cache Strategy ( Disk Cache Strategy . ALL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dont Animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( holder . product Image ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( mContext ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( R . drawable . placeholder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. disk Cache Strategy ( Disk Cache Strategy . ALL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dont Animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( holder . product Image ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . layout Binding . handler Ġ= ĠRecent Search Handler ( mContext ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠMy holder ( val Ġlayout Binding : ĠRecent Search Layout Binding ) Ġ: ĠRecyclerView . ViewHolder ( layout Binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtitle : ĠTextView ĊĠĠĠĠĠĠĠ Ġval Ġproduct Image : ĠImageView ĊĠĠĠĠĠĠĠ Ġval Ġmain _ linear : ĠLinearLayout ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġlayout Binding . search ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Image Ġ= Ġlayout Binding . product Image ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain _ linear Ġ= Ġlayout Binding . main Linear ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġparams Ġ= ĠLinearLayout . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUtils . getDevice Screen Width () Ġ/ Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUtils . getDevice Screen Width () Ġ/ Ġ 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Image . layout Params Ġ= Ġparams ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . gravity Ġ= ĠGr avity . CENTER _ HORIZONTAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Image . set Padding ( 8 , Ġ 8 , Ġ 8 , Ġ 8 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }