package Ġcom . sing ularity coder . d agger h ilt 1 Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . sing ularity coder . d agger h ilt 1 . databinding . ListItem Repo Binding Ċ Ċ class ĠRepo Adapter ( ĊĠĠĠ Ġprivate Ġval Ġrepo List : ĠList < Item >, ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext Ċ ) Ġ: ĠRecyclerView . Adapter < Repo Adapter . Repo ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRepo ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠListItem Repo Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠRepo ViewHolder ( binding Ġ= Ġbinding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRepo ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind Items ( repo Ġ= Ġrepo List [ position ], Ġcontext Ġ= Ġcontext ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġrepo List . size ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ= Ġposition ĊĊĠĠĠ Ġclass ĠRepo ViewHolder ( private Ġval Ġbinding : ĠListItem Repo Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind Items ( repo : ĠItem , Ġcontext : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv UserName . text Ġ= Ġrepo . owner . login . or Empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Repo Name . text Ġ= Ġrepo . name . or Empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Repo Description . text Ġ= Ġrepo . description . or Empty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Utils . glide Image ( context Ġ= Ġcontext , Ġimg Url Ġ= Ġrepo . owner . avatar Url , ĠimageView Ġ= Ġbinding . iv User Image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }