package Ġcom . death hit . my _ good _ dog go _ app . fragment . thumbnail _ list Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . paging . Paging Data Adapter Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . Decode Format Ċ import Ġcom . death hit . my _ good _ dog go _ app . databinding . Item Thumbnail List Thumbnail Binding Ċ import Ġcom . death hit . my _ good _ dog go _ app . model . Thumbnail VO Ċ import Ġjava . lang . Exception Ċ Ċ abstract Ġclass ĠThumb nail Adapter Ġ: ĊĠĠĠ ĠP aging Data Adapter < Thumbnail VO , ĠThumb nail ViewHolder >( COMP AR ATOR ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCOMP AR ATOR Ġ= Ġobject Ġ: ĠDiff Util . Item Callback < Thumbnail VO >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠThumb nail VO , Ġnew Item : ĠThumb nail VO ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item . thumbnail Id Ġ== Ġnew Item . thumbnail Id ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠThumb nail VO , Ġnew Item : ĠThumb nail VO ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠThumb nail ViewHolder Ġ= ĊĠĠĠĠĠĠĠ ĠThumb nail ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Thumbnail List Thumbnail Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ Ġitem ?. let Ġ{ ĠonClick Item ( it ) Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠThumb nail ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . item Ġ= ĠgetItem ( position )?. also Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( holder . binding . imageView Thumbnail ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this ). load ( item . thumbnail Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop (). format ( Decode Format . PREFER _ RGB _ 5 6 5 ). into ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( holder . binding . textView Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġitem . thumbnail Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Re cyc led ( holder : ĠThumb nail ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Re cyc led ( holder ) ĊĠĠĠĠĠĠĠ Ġwith ( holder . binding . imageView Thumbnail ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this ). clear ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun ĠonClick Item ( thumbnail VO : ĠThumb nail VO ) Ċ }