/* čĊ Ġ* čĊ Ġ* Ġ Ġ* ĠCopyright Ġ 2 0 2 1 ĠDaniel ĠGu ger čĊ Ġ* Ġ Ġ* čĊ Ġ* Ġ Ġ* ĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); čĊ Ġ* Ġ Ġ* ĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . čĊ Ġ* Ġ Ġ* ĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat čĊ Ġ* Ġ Ġ* čĊ Ġ* Ġ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 čĊ Ġ* Ġ Ġ* čĊ Ġ* Ġ Ġ* ĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware čĊ Ġ* Ġ Ġ* ĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , čĊ Ġ* Ġ Ġ* ĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . čĊ Ġ* Ġ Ġ* ĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand čĊ Ġ* Ġ Ġ* ĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . čĊ Ġ* čĊ Ġ* čĊ Ġ*/ čĊč Ċ package Ġat . gu ger . money book . ui . on boarding čĊč Ċ import Ġandroid . content . Context č Ċ import Ġandroid . util . Attribute Set č Ċ import Ġandroid . view . LayoutInflater č Ċ import Ġandroid . view . View č Ċ import Ġandroid . widget . Frame Layout č Ċ import Ġandroidx . view pager 2 . widget . ViewPager 2 č Ċ import Ġat . gu ger . money book . R č Ċ import Ġat . gu ger . money book . core . util . ext . hide č Ċ import Ġat . gu ger . money book . core . util . ext . show č Ċ import Ġat . gu ger . money book . databinding . View On boarding Binding č Ċ import Ġcom . t bu onom o . view pager dots indicator . W orm Dot s Indicator čĊč Ċ /** čĊ Ġ* Ġ[ Frame Layout ] Ġcontaining Ġthe ĠOn Board ing ĠView . čĊ Ġ*/ č Ċ class ĠOn Board ing View Ġ@ Jvm Over loads Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull , Ġdef Style Attr : ĠInt Ġ= Ġ 0 , Ġdef Style Res : ĠInt Ġ= Ġ 0 ) Ġ: čĊĠĠĠ ĠFrame Layout ( context , Ġattrs , Ġdef Style Attr , Ġdef Style Res ) Ġ{ čĊčĊĠĠĠ Ġ// region ĠVariables čĊčĊĠĠĠ Ġprivate Ġval Ġbinding : ĠView On boarding Binding Ġ= ĠView On boarding Binding . inflate ( LayoutInflater . from ( context ), Ġthis , Ġtrue ) čĊčĊĠĠĠ Ġprivate Ġval ĠnumberOf Pages Ġby Ġlazy Ġ{ ĠOn Board ing Page . values (). size Ġ} čĊčĊĠĠĠ Ġvar Ġskip Button Callback : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull čĊĠĠĠ Ġvar Ġstart Migrate Button Callback : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull čĊčĊĠĠĠ Ġ// endregion čĊčĊĠĠĠ Ġinit Ġ{ čĊĠĠĠĠĠĠĠ Ġsetup Slider ( binding . root ) čĊĠĠĠĠĠĠĠ Ġadd Button Click Listeners () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ// region ĠMethods čĊčĊĠĠĠ Ġprivate Ġfun Ġsetup Slider ( view : ĠView ) Ġ{ čĊĠĠĠĠĠĠĠ Ġwith ( binding . m On Board ing View Slider ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠOn Board ing Pager Adapter ( On Board ing Page . values ()) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġregister On Page Change Callback ( object Ġ: ĠView Pager 2 . On Page Change Callback () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Sc rolled ( position : ĠInt , Ġposition Offset : ĠFloat , Ġposition Offset Pixels : ĠInt ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position Ġ== ĠnumberOf Pages Ġ- Ġ 1 ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn On Board ing View Skip . hide () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn On Board ing View Next . hide () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn On Board ing View Start Migrate . show () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn On Board ing View Skip . show () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn On Board ing View Next . show () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn On Board ing View Start Migrate . hide () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindicator Ġ= Ġview . findViewById < W orm Dot s Indicator >( R . id . m On Board ing View Indicator ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġindicator . set ViewPager 2 ( this ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġadd Button Click Listeners () Ġ{ čĊĠĠĠĠĠĠĠ Ġbinding . btn On Board ing View Next . setOnClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnext Slide Ġ= Ġbinding . m On Board ing View Slider . currentItem . plus ( 1 ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . m On Board ing View Slider . setCurrent Item ( next Slide , Ġtrue ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġbinding . btn On Board ing View Skip . setOnClickListener Ġ{ Ġskip Button Callback ?. invoke () Ġ} čĊĠĠĠĠĠĠĠ Ġbinding . btn On Board ing View Start Migrate . setOnClickListener Ġ{ Ġstart Migrate Button Callback ?. invoke () Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ// endregion č Ċ }