package Ġcom . deep ak . kont acts . ui . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . deep ak . kont acts . R Ċ import Ġcom . deep ak . kont acts . model . Call Log Model Ċ import Ġcom . deep ak . kont acts . util . toDate Ċ import Ġcom . deep ak . kont acts . util . to Duration Ċ import Ġcom . deep ak . kont acts . util . to Uri Ċ import Ġde . hd od enh of . circle image view . Circle ImageView Ċ Ċ class ĠCall Log Adapter ( private Ġvar Ġcontact List : ĠMutable List < Call Log Model >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġlistener : Ġ( Call Log Model , ĠInt , ĠView , ĠView ) Ġ-> ĠUnit ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . Adapter < Call Log Adapter . Call Log ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( view Group : ĠViewGroup , Ġposition : ĠInt ): ĠCall Log ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( view Group . context ). inflate ( R . layout . item _ call _ log , Ġview Group , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠCall Log ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠCall Log ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontact Ġ= Ġcontact List [ position ] ĊĠĠĠĠĠĠĠ Ġholder . name . text Ġ= Ġcontact . contact Name Ġ?: Ġcontact . contact Number ĊĠĠĠĠĠĠĠ Ġholder . mobile . text Ġ= Ġcontact . contact Number ĊĠĠĠĠĠĠĠ Ġholder . call Date . text Ġ= Ġcontact . call Date ?. toDate () ĊĠĠĠĠĠĠĠ Ġholder . call Duration . text Ġ= Ġcontact . call Duration ?. to Duration () ĊĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġholder . item View . context ĊĊĠĠĠĠĠĠĠ ĠG lide . with ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( contact . display Uri ?. to Uri ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( RequestOptions (). fit Center ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. thumbnail ( G lide . with ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( contact . thumbnail Uri ?. to Uri ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . ic _ person ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( R . drawable . ic _ person ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dont Animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dont Transform () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fallback ( R . drawable . ic _ person ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( holder . image ) ĊĊĠĠĠĠĠĠĠ Ġholder . call Type Image . setImage Drawable ( context . resources . get Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( contact . call Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠR . drawable . ic _ call _ received ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠR . drawable . ic _ call _ made ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> ĠR . drawable . ic _ call _ missed ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> ĠR . drawable . ic _ call _ black ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> ĠR . drawable . ic _ call _ missed _ outgoing ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 6 Ġ-> ĠR . drawable . ic _ call _ received ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . drawable . ic _ call _ black ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠ Ġholder . image . setOnClickListener Ġ{ Ġlistener ( contact , Ġholder . adapter Position , Ġit , Ġholder . image ) Ġ} ĊĠĠĠĠĠĠĠ Ġholder . name . setOnClickListener Ġ{ Ġlistener ( contact , Ġholder . adapter Position , Ġit , Ġholder . image ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġcontact List . size ĊĊĠĠĠ Ġfun Ġupdate List ( data : ĠMutable List < Call Log Model >) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontact List Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠCall Log ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġname : ĠTextView Ġ= Ġview . findViewById ( R . id . contact _ name ) ĊĠĠĠĠĠĠĠ Ġvar Ġmobile : ĠTextView Ġ= Ġview . findViewById ( R . id . contact _ mobile ) ĊĠĠĠĠĠĠĠ Ġvar Ġimage : ĠCircle ImageView Ġ= Ġview . findViewById ( R . id . contact _ image ) ĊĠĠĠĠĠĠĠ Ġvar Ġcall Type Image : ĠImageView Ġ= Ġview . findViewById ( R . id . call _ type _ image ) ĊĠĠĠĠĠĠĠ Ġvar Ġcall Date : ĠTextView Ġ= Ġview . findViewById ( R . id . call _ date ) ĊĠĠĠĠĠĠĠ Ġvar Ġcall Duration : ĠTextView Ġ= Ġview . findViewById ( R . id . call _ duration ) ĊĠĠĠ Ġ} Ċ }