package Ġcom . example . blog o app . ad opt er Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . os . Build Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . api . model . entity . Article Ċ import Ġcom . example . api . model . entity . Author Ċ import Ġcom . example . blog o app . R Ċ import Ġcom . example . blog o app . extensions . load Image Ċ import Ġjava . util . zip . Inflater Ċ Ċ class ĠG lob le Feed A dopt er : ListAdapter < Article , Glob le Feed A dopt er . Article ViewHolder >( ĊĠĠĠ Ġobject Ġ: Diff Util . Item Callback < Article > (){ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠArticle , Ġnew Item : ĠArticle ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item == new Item ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠArticle , Ġnew Item : ĠArticle ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġold Item . toString ()== old Item . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ ) Ġ{ ĊĊĊĠĠĠ Ġinner Ġclass ĠArticle ViewHolder ( item View : ĠView ): RecyclerView . ViewHolder ( item View ){ ĊĊĠĠĠĠĠĠĠ Ġval Ġ Ġtv Author : TextView = item View . findViewById ( R . id . tv Author Name ) ĊĠĠĠĠĠĠĠ Ġval Ġ Ġtv Article Title : ĠTextView = item View . findViewById ( R . id . tv Article Title ) ĊĠĠĠĠĠĠĠ Ġval Ġ Ġtv Article Description : ĠTextView = item View . findViewById ( R . id . tv Article Description ) ĊĠĠĠĠĠĠĠ Ġval Ġ Ġtv Date : ĠTextView = item View . findViewById ( R . id . tv Date ) ĊĠĠĠĠĠĠĠ Ġval Ġ Ġimg Av tar : ĠImageView = item View . findViewById ( R . id . img Av tar ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . M ) ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠArticle ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . glob le _ feed _ list _ item _ article , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġroot = Article ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠArticle ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarticle = getItem ( position ) ĊĊ ĊĠĠĠĠĠĠ Ġholder . tv Author . text = article . author . username ĊĠĠĠĠĠĠĠ Ġholder . tv Date . text =" 2 5 ĠDec , Ġ 2 0 2 1 " ĊĠĠĠĠĠĠĠ Ġholder . tv Article Title . text = article . title ĊĠĠĠĠĠĠĠ Ġholder . tv Article Description . text = article . description ĊĠĠĠĠĠĠĠ Ġholder . img Av tar . load Image ( article . author . image , true ) ĊĊĊĠĠĠ Ġ} Ċ }