package Ġcom . dew . ai h ua . ui . contract Ċ Ċ /** Ċ Ġ* Ġ ĠCreated Ġby ĠEd ward Ġon Ġ 3 / 2 / 2 0 1 9 . Ċ Ġ* Ċ Ġ* ĠRe cycler Ġview Ġscroll Ġlistener Ġwhich Ġcalls Ġthe Ġmethod Ġ[. on Sc rolled Down ] Ċ Ġ* Ġif Ġthe Ġview Ġis Ġsc rolled Ġbelow Ġthe Ġlast Ġitem . Ċ Ġ*/ Ċ abstract Ġclass ĠOn Scroll Below Items Listener Ġ: Ġandroidx . recyclerview . widget . RecyclerView . On Scroll Listener () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Sc rolled ( re cyclerView : Ġandroidx . recyclerview . widget . RecyclerView , Ġdx : ĠInt , Ġdy : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Sc rolled ( re cyclerView , Ġdx , Ġdy ) ĊĠĠĠĠĠĠĠ Ġif Ġ( dy Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġpast Visible Items Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout Manager Ġ= Ġre cyclerView . layout Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvisible ItemCount : ĠInt Ġ= Ġlayout Manager !!. child Count ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtotal ItemCount : ĠInt Ġ= Ġlayout Manager . item Count ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAlready Ġcovers Ġthe ĠGrid LayoutManager Ġcase ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( layout Manager Ġis Ġandroidx . recyclerview . widget . Linear LayoutManager ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpast Visible Items Ġ= Ġlayout Manager . findFirst Visible Item Position () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( layout Manager Ġis Ġandroidx . recyclerview . widget . St agger ed Grid LayoutManager ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpositions Ġ= Ġlayout Manager . findFirst Visible Item Positions ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( positions Ġ!= Ġnull Ġ&& Ġpositions . isNotEmpty ()) Ġpast Visible Items Ġ= Ġpositions [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( visible ItemCount Ġ+ Ġpast Visible Items Ġ>= Ġtotal ItemCount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Sc rolled Down ( re cyclerView ) Ġ// Ġload Ġmore Ġitems Ġin Ġthis Ġfunction ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġre cycler Ġview Ġis Ġsc rolled Ġbelow Ġthe Ġlast Ġitem . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġre cyclerView Ġthe Ġre cycler Ġview ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġabstract Ġfun Ġon Sc rolled Down ( re cyclerView : Ġandroidx . recyclerview . widget . RecyclerView ) Ċ } Ċ