package Ġcom . sum mit . home . home . utils Ċ Ċ import Ġandroid . os . Handler Ċ import Ġandroidx . view pager 2 . widget . ViewPager 2 Ċ Ċ fun ĠView Pager 2 . auto Scroll ( interval : ĠLong ) Ġ{ ĊĠĠĠ Ġvar Ġscroll Position Ġ= Ġ 0 ĊĠĠĠ Ġval Ġhandler Ġ= ĠHandler () ĊĠĠĠ Ġval Ġrunnable Ġ= Ġobject Ġ: ĠRunnable Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcount Ġ= Ġadapter ?. item Count Ġ?: Ġ 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetCurrent Item ( scroll Position ++ Ġ% Ġcount , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . post Delayed ( this , Ġinterval ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġregister Call bak Ġ= Ġobject Ġ: ĠView Pager 2 . On Page Change Callback () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Selected ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscroll Position Ġ= Ġposition Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Scroll StateChanged ( state : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Sc rolled ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition Offset : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġposition Offset Pixels : ĠInt ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġregister Call bak ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġregister On Page Change Callback ( it ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrunnable ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġhandler . post ( it ) ĊĠĠĠ Ġ} Ċ Ċ }