package Ġat . ict 4 d . ict 4 d news . screens . news . blog and source Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġat . ict 4 d . ict 4 d news . databinding . Blog And Source Item Binding Ċ import Ġat . ict 4 d . ict 4 d news . extensions . browse Custom Tab Ċ import Ġat . ict 4 d . ict 4 d news . models . Blog Ċ Ċ class ĠBlog And Source RecyclerView Adapter ( private Ġval Ġclick Handler : Ġ( Blog ) Ġ-> ĠUnit ) Ġ: ĠList Adapter < Blog , ĠBlog And Source RecyclerView Adapter . ViewHolder >( Blog List Diff Callback ()) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( Blog And Source Item Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . setItem ( getItem ( position )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( private Ġval Ġbinding : ĠBlog And Source Item Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġset Item ( blog : ĠBlog ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . blog Ġ= Ġblog ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Click ( blog ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . active Blog CheckBox . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Click ( blog ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . active Blog Read More Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . context . browse Custom Tab ( blog . url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġhandle Click ( blog : ĠBlog ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblog . active Ġ= Ġ! blog . active ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . active Blog CheckBox . isChecked Ġ= Ġblog . active ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Handler ( blog ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠBlog List Diff Callback Ġ: ĠDiff Util . Item Callback < Blog >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠBlog , Ġnew Item : ĠBlog ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Item . feed _ url Ġ== Ġnew Item . feed _ url ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠBlog , Ġnew Item : ĠBlog ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠ Ġ} Ċ } Ċ