/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 2 . ĠM ak sym ĠO li iny k . Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġio . github . x lo pec . reader . app . feature . article . list Ċ Ċ import Ġio . github . x lo pec . reader . app . feature . article . list . Articles State . Companion . Articles PerPage Ċ import Ġkotlinx . collections . immutable . ImmutableList Ċ Ċ data Ġclass ĠPage < out ĠT >( ĊĠĠĠ Ġval Ġdata : ĠImmutableList < T >, ĊĠĠĠ Ġval Ġhas More : ĠBoolean Ġ= Ġfalse Ċ ) Ċ Ċ data Ġclass ĠP aging ( ĊĠĠĠ Ġval Ġcurrent Size : ĠInt , ĊĠĠĠ Ġval Ġresults PerPage : ĠInt Ġ= ĠArticles PerPage Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠFirst Page Ġ= ĠP aging ( current Size Ġ= Ġ 0 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠCalculates Ġand Ġreturns Ġnext Ġpage Ġfor Ġcurrent ĠP aging Ġinstance . Ċ Ġ* ĠFor Ġ 0 Ġpage Ġit 'll Ġreturn Ġ 1 , Ġwhich Ġis Ġacceptable Ġby ĠAPI Ċ Ġ*/ Ċ inline Ġval ĠP aging . next Page : ĠInt ĊĠĠĠ Ġget () Ġ= Ġ( current Size Ġ/ Ġresults PerPage ) Ġ+ Ġ 1 Ċ Ċ fun ĠArticles State . next Page ( ĊĠĠĠ Ġresults PerPage : ĠInt Ġ= ĠArticles PerPage Ċ ) Ġ= ĠP aging ( load able . data . size , Ġresults PerPage ) Ċ