package Ġorg . step ik . android . view . course _ info . ui . adapter . deleg ates . in struct ors Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . appcompat . content . res . AppCompat Resources Ċ import Ġandroidx . core . view . is G one Ċ import Ġkotlinx . android . synt hetic . main . view _ course _ info _ in structor _ item . view .* Ċ import Ġorg . step ic . d roid . R Ċ import Ġorg . step ik . android . view . glide . ui . extension . wrap With G lide Ċ import Ġorg . step ik . android . model . user . User Ċ import Ġru . nob ird . android . ui . adapter deleg ates . Adapter Delegate Ċ import Ġru . nob ird . android . ui . adapter deleg ates . Delegate ViewHolder Ċ Ċ class ĠCourse Info In structor Data Adapter Delegate ( ĊĠĠĠ Ġprivate Ġval Ġon In structor Clicked : Ġ( User ) Ġ-> ĠUnit Ċ ) Ġ: ĠAdapter Delegate < User ?, ĠDelegate ViewHolder < User ? >>() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġis For ViewType ( position : ĠInt , Ġdata : ĠUser ?): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġdata Ġ!= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup ): ĠDelegate ViewHolder < User ?> Ġ= ĊĠĠĠĠĠĠĠ ĠViewHolder ( create View ( parent , ĠR . layout . view _ course _ info _ in structor _ item )) ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠViewHolder ( root : ĠView ) Ġ: ĠDelegate ViewHolder < User ? >( root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġin structor Icon Ġ= Ġroot . in structor Icon ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġin structor Title Ġ= Ġroot . in structor Title ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġin structor Description Ġ= Ġroot . in structor Description ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġin structor Icon Wrapper Ġ= Ġin structor Icon . wrap With G lide () ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot . setOnClickListener Ġ{ Ġitem Data ?. let ( on In structor Clicked ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ( data : ĠUser ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin structor Icon Wrapper ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setImage Path ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath Ġ= Ġdata . avatar Ġ?: Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= ĠAppCompat Resources . get Drawable ( context , ĠR . drawable . general _ placeholder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin structor Title . text Ġ= Ġdata . fullName ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin structor Description . text Ġ= Ġdata . short Bio ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin structor Description . is G one Ġ= Ġdata . short Bio . isNull Or Blank () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }