package Ġcom . j utt . github trend ing rep om v iflow . common . extensions Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . j utt . github trend ing rep om v iflow . common . widgets . N pa Linear LayoutManager Ċ import Ġcom . j utt . github trend ing rep om v iflow . common . utils . End less Scroll Listener Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . callback Flow Ċ Ċ /** Ċ Ġ* Ġreturns Ġstream Ġof Ġnext Ġpage Ġwhen Ġthe Ġuser Ġreaches Ġout Ġthe Ġend Ġof Ċ Ġ* Ġthe Ġcurrent Ġpage Ċ Ġ*/ Ċ fun ĠRecyclerView . end less Pages (): ĠFlow < Pair < End less Scroll Listener , ĠInt >> Ġ{ ĊĠĠĠ Ġreturn Ġcallback Flow < Pair < End less Scroll Listener , ĠInt >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġlayout Manager Ġas ĠN pa Linear LayoutManager ĊĠĠĠĠĠĠĠ Ġval Ġscroll Listener Ġ= Ġobject Ġ: ĠEnd less Scroll Listener ( manager ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonLoad More ( page : ĠInt , Ġtotal Items Count : ĠInt , Ġview : ĠRecyclerView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Send ( this Ġto Ġpage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadd On Scroll Listener ( scroll Listener ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠRecyclerView . reset Scrolling ( scroll Listener : ĠEnd less Scroll Listener ) Ġ{ ĊĠĠĠ Ġscroll Listener . reset State () Ċ } Ċ Ċ fun ĠRecyclerView . ViewHolder . getContext (): ĠContext Ġ= ĠitemView . context