/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠI ce Rock ĠMAG ĠInc . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ package Ġdev . icer ock . mo ko . paging Ċ Ċ import Ġdev . icer ock . mo ko . mv vm . li ved ata . LiveData Ċ import Ġdev . icer ock . mo ko . mv vm . li ved ata . map Ċ import Ġdev . icer ock . mo ko . mv vm . li ved ata . merge With Ċ Ċ fun Ġ< T > ĠLive Data < List < T >> . with Loading Item ( ĊĠĠĠ Ġloading : ĠLive Data < Boolean >, ĊĠĠĠ Ġitem Factory : Ġ() Ġ-> ĠT Ċ ): ĊĠĠĠĠĠĠĠ ĠLive Data < List < T >> Ġ= Ġmerge With ( loading ) Ġ{ Ġitems , Ġnext Page Loading Ġ-> ĊĠĠĠ Ġif Ġ( next Page Loading ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems Ġ+ Ġitem Factory () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġitems ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠLive Data < List < T >> . with Reach End Notifier ( action : Ġ( Int ) Ġ-> ĠUnit ): ĊĠĠĠĠĠĠĠ ĠLive Data < Reach End Notifier List < T >> Ġ= Ġmap Ġ{ ĊĠĠĠ Ġit . with Reach End Notifier ( action ) Ċ } Ċ