package Ġjp . cor dea . tw . ui . home Ċ Ċ import Ġandroidx . paging . Async Paged List Differ Ċ import Ġandroidx . paging . Paged List Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġcom . x wr ay . group ie . Group Adapter Ċ import Ġcom . x wr ay . group ie . Group ie ViewHolder Ċ import Ġcom . x wr ay . group ie . Item Ċ Ċ class ĠHome Adapter Ġ: ĠGroup Adapter < Group ie ViewHolder >() Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠDIFF _ CALLBACK Ġ= Ġobject Ġ: ĠDiff Util . Item Callback < Home ListItem >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠHome ListItem , Ġnew Item : ĠHome ListItem ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item . is Same As ( new Item ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠHome ListItem , Ġnew Item : ĠHome ListItem ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Item Ġ== Ġnew Item ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġdiffer Ġ= ĠAsync Paged List Differ ( this , ĠDIFF _ CALLBACK ) ĊĊĠĠĠ Ġfun Ġsubmit List ( list : ĠP aged List < Home ListItem >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdiffer . submit List ( list ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠItem < *> Ġ= Ġdiffer . getItem ( position ) !! ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġdiffer . item Count Ċ } Ċ