package Ġnet . y uz um one . berg am io . fragment Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . databinding . Data Binding Util Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . app . FragmentManager Ċ import Ġandroid . support . v 4 . app . Fragment Pager Adapter Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġnet . y uz um one . berg am io . R Ċ import Ġnet . y uz um one . berg am io . databinding . Fragment View pager Binding Ċ import Ġnet . y uz um one . berg am io . model . Coupon Info Ċ import Ġnet . y uz um one . berg am io . model . Packet Log Info Ċ import Ġnet . y uz um one . berg am io . view . On Toggle Elevation Listener Ċ import Ġjava . util .* Ċ Ċ class ĠView Pager Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment View pager Binding ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter : ĠView Pager Adapter ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlistener : ĠOn Toggle Elevation Listener ĊĠĠĠ Ġprivate Ġval Ġcoupon Info : ĠCo upon Info Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġarguments !!. get Parcelable < Coupon Info >( ARG _ CO UP ON _ INFO ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġpacket Log Info : ĠPacket Log Info Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġarguments !!. get Parcelable < Packet Log Info >( ARG _ PACKET _ LOG ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ CO UP ON _ INFO Ġ= Ġ" coupon _ info " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ PACKET _ LOG Ġ= Ġ" packet _ log " ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( coupon Info : ĠCo upon Info , Ġpacket Log : ĠPacket Log Info ): ĠView Pager Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠView Pager Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Parcelable ( ARG _ CO UP ON _ INFO , Ġcoupon Info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Parcelable ( ARG _ PACKET _ LOG , Ġpacket Log ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġis ĠOn Toggle Elevation Listener ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . inflate ( in flater , ĠR . layout . fragment _ view pager , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity !!. title Ġ= Ġcoupon Info . h dd Service Code ĊĠĠĠĠĠĠĠ Ġlistener . on Toggle Elevation ( false ) ĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠView Pager Adapter ( child FragmentManager ) ĊĠĠĠĠĠĠĠ Ġbinding . pager . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġbinding . tab . setup With ViewPager ( binding . pager ) ĊĠĠĠĠĠĠĠ Ġval Ġcoupon Fragment Ġ= ĠCo upon Fragment . newInstance ( ArrayList ( coupon Info . coupon )) ĊĠĠĠĠĠĠĠ Ġadapter . add (" Coupon ", Ġcoupon Fragment ) ĊĠĠĠĠĠĠĠ Ġcoupon Info . h do Info . forEach Indexed Ġ{ Ġi , Ġh do Info Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpacket Logs Ġ= Ġpacket Log Info . h do Info [ i ]. packet Log ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġh do Fragment Ġ= ĠH do Info Fragment . newInstance ( h do Info , ĠArrayList ( packet Logs )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . add ( h do Info . number , Ġh do Fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠView Pager Adapter ( fm : ĠFragment Manager ) Ġ: ĠFragment Pager Adapter ( fm ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġfragments Ġ= ĠArrayList < Fragment >() ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtitles Ġ= ĠArrayList < String >() ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragments [ position ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragments . size ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Page Title ( position : ĠInt ): ĠCharSequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtitles [ position ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġadd ( title : ĠString , Ġfragment : ĠFragment ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragments . add ( fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitles . add ( title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }