package Ġcom . an fil in . android . page d list . data Ċ Ċ import Ġandroidx . paging . Page Key ed DataSource Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . an fil in . android . page d list . data . entity . Header Item Ċ import Ġcom . an fil in . android . page d list . data . entity . Sample Item Ċ Ċ class ĠSample Datasource Ġ: ĠPage Key ed DataSource < Long , ĠAny >() Ġ{ ĊĊĠĠĠ Ġ// ĠVariable Ġare Ġfor Ġupdating Ġthe ĠUI Ġwhen Ġdata Ġis Ġbeing Ġfetched Ġby Ġdisplaying Ġa Ġloading Ġindicator ĊĠĠĠ Ġval Ġloading Data : ĠMutable LiveData < Boolean > Ġ= ĠMutable LiveData () ĊĊĠĠĠ Ġoverride Ġfun Ġload Initial ( params : ĠLoad Initial Params < Long >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback : ĠLoad Initial Callback < Long , ĠAny >) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġloading Data . post Value ( true ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠFill Ġdata Ġarray ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < Any >() ĊĊĠĠĠĠĠĠĠ Ġlist . add ( Header Item (). apply Ġ{ Ġmessage Ġ= Ġ" Header Ġmessage " Ġ}) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. PAGE _ SIZE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( Sample Item ( i . to Long ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Title Ġ$ id " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Message Ġ$ id " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġloading Data . post Value ( false ) ĊĠĠĠĠĠĠĠ Ġcallback . on Result ( list , Ġnull , Ġ 2 L ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Before ( params : ĠLoad Params < Long >, Ġcallback : ĠLoad Callback < Long , ĠAny >) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġload After ( params : ĠLoad Params < Long >, Ġcallback : ĠLoad Callback < Long , ĠAny >) Ġ{ ĊĠĠĠĠĠĠĠ Ġloading Data . post Value ( true ) ĊĊĠĠĠĠĠĠĠ Ġval Ġpage Ġ= Ġparams . key ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < Any >() ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. PAGE _ SIZE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( Sample Item ( page Ġ* ĠPAGE _ SIZE Ġ+ Ġi ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Title Ġ$ id " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Message Ġ$ id " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġloading Data . post Value ( false ) ĊĠĠĠĠĠĠĠ Ġcallback . on Result ( list , Ġpage Ġ+ Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPAGE _ SIZE Ġ= Ġ 7 ĊĠĠĠ Ġ} Ċ } Ċ