/* Ċ Ġ* ĠCopyright Ġ( c ) ĠMicrosoft ĠCorporation . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠLicensed Ġunder Ġthe ĠMIT ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . microsoft . device . display . samples . complement ary context . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Sparse Array Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . view pager . widget . ViewPager Ċ import Ġandroidx . view pager . widget . ViewPager . On Page ChangeListener Ċ import Ġcom . microsoft . device . display . samples . complement ary context . adapter . Pager Adapter Ċ import Ġcom . microsoft . device . display . samples . complement ary context . R Ċ import Ġcom . microsoft . device . display . samples . complement ary context . Slide Ċ Ċ class ĠSingle Por trait Ġ: ĠBase Fragment (), ĠOn Page ChangeListener Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview Pager : ĠView Pager ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfragments : ĠSparse Array < Slide Fragment > ĊĠĠĠ Ġprivate Ġvar Ġcurrent Position Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ single _ portrait , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġview Pager Ġ= Ġview . findViewById ( R . id . pager ) ĊĠĠĠĠĠĠĠ Ġval Ġpager Adapter Ġ= ĠP ager Adapter ( child FragmentManager , Ġfragments ) ĊĠĠĠĠĠĠĠ Ġview Pager . also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . adapter Ġ= Ġpager Adapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . currentItem Ġ= Ġcurrent Position ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . add On Page ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Hidden Changed ( hidden : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Hidden Changed ( hidden ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! hidden ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Pager . setCurrent Item ( current Position , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Page Sc rolled ( position : ĠInt , Ġposition Offset : ĠFloat , Ġposition Offset Pixels : ĠInt ) Ġ{ Ġ// ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Page Selected ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Position Ġ= Ġposition ĊĠĠĠĠĠĠĠ Ġlistener ?. on ItemSelected ( position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Page Scroll StateChanged ( state : ĠInt ) Ġ{ Ġ// ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetCurrent Position ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Position Ġ= Ġposition ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( slides : ĠArrayList < Slide >? ): ĠSingle Por trait Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSingle Por trait (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragments Ġ= ĠSlide Fragment . get Fragments ( slides ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Position Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ