package Ġcom . vin ners . cube _ v ish w ak arma . ui . compl aints . my Comp l aint Ċ Ċ abstract Ġclass ĠOn Page ChangeListener Helper Ġ{ ĊĠ Ġprivate Ġvar Ġlast Left Position : ĠInt Ġ= Ġ- 1 ĊĠ Ġprivate Ġvar Ġlast Right Position : ĠInt Ġ= Ġ- 1 ĊĊĠ Ġinternal Ġabstract Ġval Ġpage Count : ĠInt ĊĊĠ Ġfun Ġon Page Sc rolled ( position : ĠInt , Ġposition Offset : ĠFloat ) Ġ{ ĊĠĠĠ Ġvar Ġoffset Ġ= Ġ( position Ġ+ Ġposition Offset ) ĊĠĠĠ Ġval Ġlast Page Index Ġ= Ġ( page Count Ġ- Ġ 1 ). toFloat () ĊĠĠĠ Ġif Ġ( offset Ġ== Ġlast Page Index ) Ġ{ ĊĠĠĠĠĠ Ġoffset Ġ= Ġlast Page Index Ġ- Ġ. 0 0 0 1 f ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġleft Position Ġ= Ġoffset . toInt () ĊĠĠĠ Ġval Ġright Position Ġ= Ġleft Position Ġ+ Ġ 1 ĊĊĠĠĠ Ġif Ġ( right Position Ġ> Ġlast Page Index Ġ|| Ġleft Position Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġon Page Sc rolled ( left Position , Ġright Position , Ġoffset Ġ% Ġ 1 ) ĊĊĠĠĠ Ġif Ġ( last Left Position Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠ Ġif Ġ( left Position Ġ> Ġlast Left Position ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( last Left Position Ġuntil Ġleft Position ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġreset Position ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġif Ġ( right Position Ġ< Ġlast Right Position ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreset Position ( last Right Position ) ĊĠĠĠĠĠĠĠ Ġ(( right Position Ġ+ Ġ 1 ) .. last Right Position ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġreset Position ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlast Left Position Ġ= Ġleft Position ĊĠĠĠ Ġlast Right Position Ġ= Ġright Position ĊĠ Ġ} ĊĊĠ Ġinternal Ġabstract Ġfun Ġon Page Sc rolled ( selected Position : ĠInt , Ġnext Position : ĠInt , ĊĠĠĠĠĠĠĠĠĠ Ġposition Offset : ĠFloat ) ĊĊĠ Ġinternal Ġabstract Ġfun Ġreset Position ( position : ĠInt ) Ċ } Ċ