package Ġcom . vm en on . mp o . downloads . view . adapter Ċ Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . resource . drawable . Drawable Transition Options Ċ import Ġcom . vm en on . mp o . downloads . R Ċ import Ġcom . vm en on . mp o . downloads . databinding . Download Binding Ċ import Ġcom . vm en on . mp o . downloads . domain . Queued Download Model Ċ import Ġkotlin . math . round To Long Ċ Ċ class ĠDown loads Adapter ( private Ġval Ġdownloads : ĠList < Queued Download Model >) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Downloads Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġclass ĠViewHolder ( binding : ĠDownload Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Text : ĠTextView Ġ= Ġbinding . episode Name ĊĠĠĠĠĠĠĠ Ġval Ġprogress Text : ĠTextView Ġ= Ġbinding . progress ĊĠĠĠĠĠĠĠ Ġval ĠimageView : ĠImageView Ġ= Ġbinding . show Image ĊĠĠĠĠĠĠĠ Ġvar Ġdownload : ĠQue ued Download Model ? Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding : ĠDownload Binding Ġ= ĠDownload Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġv h Ġ= ĠViewHolder ( binding ) ĊĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġv h ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdownload Ġ= Ġdownloads [ position ] ĊĠĠĠĠĠĠĠ Ġholder . download Ġ= Ġdownload ĊĠĠĠĠĠĠĠ Ġholder . name Text . text Ġ= Ġdownload . download . name ĊĊĠĠĠĠĠĠĠ Ġvar Ġprogress : ĠDouble Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( download . total Ġ== Ġ 0 ) Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġdownload . progress Ġ* Ġ 1 . 0 Ġ/ Ġdownload . total ĊĊĠĠĠĠĠĠĠ Ġprogress Ġ*= Ġ 1 0 0 . 0 ĊĠĠĠĠĠĠĠ Ġholder . progress Text . text Ġ= Ġ"${ progress . round To Long ()} %" ĊĊĠĠĠĠĠĠĠ ĠG lide . with ( holder . item View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( download . download . imageUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transition ( Drawable Transition Options . with Cross Fade ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( holder . imageView ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdownloads . size ĊĠĠĠ Ġ} Ċ } Ċ