/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 . example . android . motion . demo . loading Ċ Ċ import Ġandroid . os . System Clock Ċ import Ġandroidx . paging . DataSource Ċ import Ġandroidx . paging . Position al DataSource Ċ import Ġcom . example . android . motion . model . Che ese Ċ Ċ class ĠChe ese DataSource Ġ: ĠPosition al DataSource < Che ese >() Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject ĠFactory Ġ: ĠDataSource . Factory < Int , ĠChe ese >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate (): ĠDataSource < Int , ĠChe ese > Ġ= ĠChe ese DataSource () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Initial ( params : ĠLoad Initial Params , Ġcallback : ĠLoad Initial Callback < Che ese >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠSim ulate Ġa Ġslow Ġnetwork . ĊĠĠĠĠĠĠĠ ĠSystem Clock . sleep ( 3 0 0 0 L ) ĊĠĠĠĠĠĠĠ Ġcallback . on Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠChe ese . ALL . sub List ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . requested Start Position , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . requested Start Position Ġ+ Ġparams . requested Load Size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . requested Start Position , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠChe ese . ALL . size ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Range ( params : ĠLoad Range Params , Ġcallback : ĠLoad Range Callback < Che ese >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠSim ulate Ġa Ġslow Ġnetwork . ĊĠĠĠĠĠĠĠ ĠSystem Clock . sleep ( 3 0 0 0 L ) ĊĠĠĠĠĠĠĠ Ġcallback . on Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠChe ese . ALL . sub List ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . start Position , Ġparams . start Position Ġ+ Ġparams . load Size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ