/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠHal cy on ĠMobile . Ċ Ġ* Ġhttps :// www . hal cy on mobile . com Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ package Ġcom . hal cy on mobile . pagination _ extension . shared Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġcom . hal cy on mobile . core . Bar Ċ import Ġcom . hal cy on mobile . page ui . Loading More Paged ListAdapter Ċ import Ġcom . hal cy on mobile . pagination _ extension . R Ċ import Ġcom . hal cy on mobile . pagination _ extension . databinding . Item Main View Binding Ċ Ċ /** Ċ Ġ* ĠPurpose Ċ Ġ* Ġ< p > Ċ Ġ* ĠDescription Ċ Ġ* Ġ< p /> Ċ Ġ* ĠNotes : Ċ Ġ* Ġ@ author Ġ( OPTIONAL ! ĠUse Ġonly Ġif Ġthe Ġcode Ġis Ġcomplex , Ġotherwise Ġdelete Ġthis Ġline .) Ċ Ġ*/ Ċ class ĠBar Adapter Ġ: ĠLoading More Paged ListAdapter < Bar , ĠBar Adapter . Bar ViewHolder >( Int Diff Util Callback ()) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetData Item ViewType ( position : ĠInt ): ĠInt Ġ= ĠR . layout . item _ main _ view ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Data Item ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠBar ViewHolder Ġ= ĊĠĠĠĠĠĠĠ ĠBar ViewHolder ( parent ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind Data Item ViewHolder ( holder : ĠBar ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠgetItem ( position )?. let ( holder :: bind ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġclass ĠBar ViewHolder ( parent : ĠViewGroup ) Ġ: ĠBinding ViewHolder < Item Main View Binding , ĠBar >( parent , ĊĠĠĠĠĠĠĠ ĠR . layout . item _ main _ view ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind Data ( data : ĠBar ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . data . text Ġ= Ġdata . title ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠInt Diff Util Callback Ġ: ĠDiff Util . Item Callback < Bar >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠBar , Ġnew Item : ĠBar ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Item . id Ġ== Ġnew Item . id ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠBar , Ġnew Item : ĠBar ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Item Ġ== Ġnew Item ĊĊĠĠĠ Ġ} Ċ }