/* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 ĠV lad im ir ĠJ ovan ov ic Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . vl ad 1 m 1 r . lem nis cate . sample Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġandroidx . fragment . app . Fragment State Pager Adapter Ċ import Ġandroidx . view pager . widget . ViewPager Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ Ċ import Ġcom . vl ad 1 m 1 r . lem nis cate . base . Base Curve Progress View Ċ import Ġme . re lex . circle indicator . Circle Indicator Ċ Ċ private Ġconst Ġval ĠNUM _ PAGES Ġ= Ġ 1 1 Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠFragment Curve . On View Created Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfragment Settings : ĠFragment Settings ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpager : ĠView Pager ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpager Adapter : ĠCur ves Pager Adapter ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtoolbar : ĠToolbar ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġtoolbar Ġ= ĠfindViewById ( R . id . toolbar ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġfragment Settings Ġ= Ġsupport FragmentManager . find Fragment ById ( R . id . fragment _ settings ) Ġas ĠFragment Settings ĊĠĠĠĠĠĠĠ Ġpager Ġ= ĠfindViewById ( R . id . view Pager ) ĊĠĠĠĠĠĠĠ Ġpager Adapter Ġ= ĠCur ves Pager Adapter ( support FragmentManager ) ĊĠĠĠĠĠĠĠ Ġval Ġindicator Ġ= ĠfindViewById < Circle Indicator >( R . id . indicator ) ĊĠĠĠĠĠĠĠ Ġpager . adapter Ġ= Ġpager Adapter ĊĠĠĠĠĠĠĠ Ġindicator . set ViewPager ( pager ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Shown ( position : ĠInt , Ġbase Curve Progress View : ĠBase Curve Progress View ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( pager . currentItem Ġ== Ġposition ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Settings . set Base Curve Progress View ( base Curve Progress View !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ main _ activity , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ github Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbrowser Intent Ġ= ĠIntent ( Intent . ACTION _ VIEW , ĠUri . parse ( getString ( R . string . url _ github ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( browser Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ presentation Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠPresentation Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠCur ves Pager Adapter ( fm : ĠFragment Manager ) Ġ: ĠFragment State Pager Adapter ( fm , Ġ ĠBE HAV IOR _ RE SU ME _ ONLY _ CURRENT _ FRAGMENT ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFragment Curve . getInstance ( position ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠNUM _ PAGES ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ