package Ġadmin . meal buff et . com . me aln buff et admin . nav . order dashboard . buff et dashboard Ċ Ċ import Ġadmin . meal buff et . com . me aln buff et admin . R Ċ import Ġadmin . meal buff et . com . me aln buff et admin . model . Buff et Order Ċ import Ġadmin . meal buff et . com . me aln buff et admin . util . Buff et Order Status Ċ import Ġadmin . meal buff et . com . me aln buff et admin . util . Preferences Helper Ċ import Ġadmin . meal buff et . com . me aln buff et admin . view model . Buff et Orders ViewModel Ċ import Ġandroid . arch . lifecycle . Observer Ċ import Ġandroid . arch . lifecycle . ViewModel Providers Ċ 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 . support . v 4 . view . Pager Adapter Ċ import Ġandroid . view . View Ċ import Ġcom . meal buff et . controller . Base Fragment Ċ import Ġkotlinx . android . synt hetic . main . fragment _ buff et dashboard .* Ċ import Ġjava . util .* Ċ Ċ class ĠBu ff et Order Dash Board Fragment Ġ: ĠBase Fragment () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġbuff et Orders List Ġ= ĠArrayList < Buff et Order >() ĊĠĠĠ Ġprivate Ġval Ġbuff et Ordered Fragment Ġby Ġlazy Ġ{ ĠBu ff et Ordered Fragment () Ġ} ĊĠĠĠ Ġprivate Ġval Ġbuff et Completed Fragment Ġby Ġlazy Ġ{ ĠBu ff et Order Completed Fragment () Ġ} ĊĠĠĠ Ġprivate Ġval Ġbuff et Other Fragment Ġby Ġlazy Ġ{ ĠBu ff et Order Other Fragment () Ġ} ĊĠĠĠ Ġprivate Ġval Ġpage Adapter Ġby Ġlazy Ġ{ ĠView Pager Adapter ( child FragmentManager ) Ġ} ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbuff et Orders ViewModel : ĠBu ff et Orders ViewModel ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġsetup ViewPager () ĊĠĠĠĠĠĠĠ Ġinit Buff et Orders ViewModel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlayout Resource (): ĠInt Ġ= ĠR . layout . fragment _ buff et dashboard ĊĊĠĠĠ Ġprivate Ġfun Ġsetup ViewPager () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġstr Buff et Ordered Title Ġ= ĠString . format ( getString ( R . string . ordered ), Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġstr Buff et Completed Title Ġ= ĠString . format ( getString ( R . string . completed ), Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġstr Buff et Other Title Ġ= ĠString . format ( getString ( R . string . other ), Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġpage Adapter . add Fragment ( buff et Ordered Fragment , Ġstr Buff et Ordered Title ) ĊĠĠĠĠĠĠĠ Ġpage Adapter . add Fragment ( buff et Completed Fragment , Ġstr Buff et Completed Title ) ĊĠĠĠĠĠĠĠ Ġpage Adapter . add Fragment ( buff et Other Fragment , Ġstr Buff et Other Title ) ĊĊĠĠĠĠĠĠĠ Ġbuff et _ orders _ view pager . adapter Ġ= Ġpage Adapter ĊĠĠĠĠĠĠĠ Ġbuff et _ orders _ view pager . off screen Page Limit Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġbuff et _ orders _ tab . setup With ViewPager ( buff et _ orders _ view pager ) ĊĠĠĠĠĠĠĠ Ġbuff et _ orders _ view pager . currentItem Ġ= Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Buff et Orders ViewModel () Ġ{ ĊĠĠĠĠĠĠĠ Ġbuff et Orders ViewModel Ġ= ĠViewModel Providers . of ( require Activity ()). get ( Buff et Orders ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġbuff et Orders ViewModel . live Data . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Network Error () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuff et Orders List Ġ= Ġit . buff et Order List Ġas ĠArrayList < Buff et Order > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Tab Titles ( buff et Orders List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( buff et _ orders _ view pager . currentItem ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġbuff et Ordered Fragment . refresh View () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġbuff et Completed Fragment . refresh View () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġbuff et Other Fragment . refresh View () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġfetch Buff et Orders List () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġupdate Tab Titles ( meal Orders History : ĠArrayList < Buff et Order >) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ToUpdate ĠOrdered Ġtab Ġtitle ĊĠĠĠĠĠĠĠ Ġval Ġme al Ordered Orders History Ġ= Ġme al Orders History . filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . status Ġ== ĠBu ff et Order Status . ORDER ED . status ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġaccepted Title Ġ= ĠString . format ( getString ( R . string . ordered ), Ġme al Ordered Orders History . size ) ĊĠĠĠĠĠĠĠ Ġval Ġaccepted Tab Ġ= Ġbuff et _ orders _ tab . get Tab At ( 0 ) ĊĠĠĠĠĠĠĠ Ġaccepted Tab !!. text Ġ= Ġaccepted Title ĊĊĊĠĠĠĠĠĠĠ Ġ// Method Ġto Ġupdate ĠCompleted ĠTab Ġtitle ĊĠĠĠĠĠĠĠ Ġval Ġme al Completed Orders History Ġ= Ġme al Orders History . filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . status Ġ== ĠBu ff et Order Status . COMPLETED . status ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġcompleted Title Ġ= ĠString . format ( getString ( R . string . completed ), Ġme al Completed Orders History . size ) ĊĠĠĠĠĠĠĠ Ġval Ġcompleted Tab Ġ= Ġbuff et _ orders _ tab . get Tab At ( 1 ) ĊĠĠĠĠĠĠĠ Ġcompleted Tab !!. text Ġ= Ġcompleted Title ĊĊĊĠĠĠĠĠĠĠ Ġ// ToUpdate ĠOther Ġtab Ġtitle ĊĠĠĠĠĠĠĠ Ġval Ġme al Rejected Orders History Ġ= Ġme al Orders History . filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . status Ġ!= ĠBu ff et Order Status . ORDER ED . status Ġ&& Ġit . status Ġ!= ĠBu ff et Order Status . COMPLETED . status ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġrejected Title Ġ= ĠString . format ( getString ( R . string . other ), Ġme al Rejected Orders History . size ) ĊĠĠĠĠĠĠĠ Ġval Ġrejected Tab Ġ= Ġbuff et _ orders _ tab . get Tab At ( 2 ) ĊĠĠĠĠĠĠĠ Ġrejected Tab !!. text Ġ= Ġrejected Title ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfetch Buff et Orders List () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrestaurant Id Ġ= ĠPreferences Helper . get Restaurant Id ( require Context ()) ĊĠĠĠĠĠĠĠ Ġbuff et Orders ViewModel . get Buff et Orders List ( restaurant Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġinner Ġclass ĠView Pager Adapter ( manager : ĠFragment Manager ) Ġ: ĠFragment Pager Adapter ( manager ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġm Fragment List Ġ= ĠArrayList < Fragment >() ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġm Fragment Title List Ġ= ĠArrayList < String >() ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm Fragment List [ position ] ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Position ( item : ĠAny ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠP ager Adapter . POSITION _ NONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 3 Ġ// MA x ĠTabs Ġ 3 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġadd Fragment ( fragment : ĠFragment , Ġtitle : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Fragment List . add ( fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Fragment Title List . add ( title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Page Title ( position : ĠInt ): ĠCharSequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm Fragment Title List [ position ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }