package Ġcom . k uk us . administrator . wait er . tab Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġcom . jak ew h art on . r xb ind ing 2 . view . Rx View Ċ import Ġcom . k uk us . administrator . R Ċ import Ġcom . k uk us . administrator . wait er . Activity Add Order Ċ import Ġcom . k uk us . library . Constant Ċ import Ġcom . k uk us . library . Firebase Utils Ċ import Ġcom . k uk us . library . interfaces . Count Order Listener Ċ import Ġcom . k uk us . library . model . Count Order Ċ import Ġcom . k uk us . library . model . Menu Ċ import Ġcom . k uk us . library . model . Order Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġorg . jetbrains . ank o . find Ċ Ċ open Ġclass ĠBase Adapter Menu ( private Ġval Ġstatus Order : ĠConstant . Companion . TYPE _ ORDER ) Ġ: ĠRecyclerView . Adapter < Base Recycler Adapter >() Ġ{ ĊĊĠĠĠ Ġvar Ġlist : ĠArrayList < Menu > Ġ= Ġarray ListOf () ĊĠĠĠ Ġprivate Ġvar Ġm Count All Order Ġ= ĠCount Order () ĊĠĠĠ Ġprivate Ġvar Ġfinal Order Ġ= Ġarray ListOf < Order >() ĊĠĠĠ Ġlateinit Ġvar Ġcontext : ĠContext ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcount Order Listener : ĠCount Order Listener ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠBase Recycler Adapter Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext Ġ= Ġparent . context ĊĠĠĠĠĠĠĠ Ġcount Order Listener Ġ= Ġcontext Ġas ĠActivity Add Order ĊĠĠĠĠĠĠĠ Ġreturn ĠBase Recycler Adapter . build For ( parent , Ġstatus Order ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . size ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Suppress Lint (" Check Result ") ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠBase Recycler Adapter , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= Ġholder . getView () ĊĠĠĠĠĠĠĠ Ġval Ġmenu Name Ġ= ĠitemView . find < TextView >( R . id . text _ title ) ĊĊĠĠĠĠĠĠĠ Ġmenu Name . text Ġ= Ġlist [ position ]. name ĊĊĠĠĠĠĠĠĠ Ġval Ġcount 1 : ĠTextView Ġ= ĠitemView . find ( R . id . text _ count 1 ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġval Ġdown 1 : ĠImageView Ġ= ĠitemView . find ( R . id . iv _ down 1 ) Ġas ĠImageView ĊĠĠĠĠĠĠĠ Ġval Ġup 1 : ĠImageView Ġ= ĠitemView . find ( R . id . iv _ up 1 ) Ġas ĠImageView ĊĊĠĠĠĠĠĠĠ Ġcount 1 . text Ġ= Ġlist [ position ]. count 1 . toString () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( list [ position ]. count 1 Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdown 1 . setBackground Resource ( R . drawable . shape _ radius _ red _ 5 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġcount Button 1 Ġ= Ġcount 1 . text . toString (). toInt () ĊĊĠĠĠĠĠĠĠ ĠRx View . click s ( down 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 1 Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 1 Ġ== Ġ 1 ) Ġdown 1 . setBackground Resource ( R . drawable . shape _ radius _ grey _ 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 1 Ġ== Ġ 2 0 ) Ġup 1 . setBackground Resource ( R . drawable . shape _ radius _ red _ 5 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Button 1 -- ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount 1 . text Ġ= Ġcount Button 1 . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( status Order Ġ== ĠConstant . Companion . TYPE _ ORDER . DR INK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Order ( position , Ġlist [ position ]. label _ price 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Order ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠRx View . click s ( up 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 1 Ġ< Ġ 2 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 1 Ġ== Ġ 1 9 ) Ġup 1 . setBackground Resource ( R . drawable . shape _ radius _ grey _ 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 1 Ġ== Ġ 0 ) Ġdown 1 . setBackground Resource ( R . drawable . shape _ radius _ red _ 5 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Button 1 ++ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount 1 . text Ġ= Ġcount Button 1 . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( status Order Ġ== ĠConstant . Companion . TYPE _ ORDER . DR INK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Order ( position , Ġlist [ position ]. label _ price 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Order ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( status Order Ġ== ĠConstant . Companion . TYPE _ ORDER . DR INK ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtxt _ label _ 1 : ĠTextView Ġ= ĠitemView . findViewById ( R . id . txt _ label _ 1 ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout _ count 1 Ġ= ĠitemView . find < LinearLayout >( R . id . count 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtxt _ label _ 2 : ĠTextView Ġ= ĠitemView . findViewById ( R . id . txt _ label _ 2 ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout _ count 2 Ġ= ĠitemView . find < LinearLayout >( R . id . count 2 ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list [ position ]. price 1 Ġ== Ġ 0 f ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout _ count 1 . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtxt _ label _ 1 . text Ġ= Ġ(" ${ list [ position ]. label _ price 1 } Ġ: Ġ Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list [ position ]. price 2 Ġ== Ġ 0 f ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout _ count 2 . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtxt _ label _ 2 . text Ġ= Ġ(" ${ list [ position ]. label _ price 2 } Ġ: Ġ Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcount 2 : ĠTextView Ġ= ĠitemView . findViewById ( R . id . text _ count 2 ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdown 2 : ĠImageView Ġ= ĠitemView . findViewById ( R . id . iv _ down 2 ) Ġas ĠImageView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġup 2 : ĠImageView Ġ= ĠitemView . findViewById ( R . id . iv _ up 2 ) Ġas ĠImageView ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcount 2 . text Ġ= Ġlist [ position ]. count 2 . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list [ position ]. count 2 Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdown 2 . setBackground Resource ( R . drawable . shape _ radius _ red _ 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcount Button 2 Ġ= Ġcount 2 . text . toString (). toInt () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠRx View . click s ( down 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 2 Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 2 Ġ== Ġ 1 ) Ġdown 2 . setBackground Resource ( R . drawable . shape _ radius _ grey _ 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 2 Ġ== Ġ 2 0 ) Ġup 2 . setBackground Resource ( R . drawable . shape _ radius _ red _ 5 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Button 2 -- ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount 2 . text Ġ= Ġcount Button 2 . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Order ( position , Ġlist [ position ]. label _ price 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠRx View . click s ( up 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 2 Ġ< Ġ 2 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 2 Ġ== Ġ 1 9 ) Ġup 2 . setBackground Resource ( R . drawable . shape _ radius _ grey _ 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( count Button 2 Ġ== Ġ 0 ) Ġdown 2 . setBackground Resource ( R . drawable . shape _ radius _ red _ 5 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Button 2 ++ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount 2 . text Ġ= Ġcount Button 2 . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Order ( position , Ġlist [ position ]. label _ price 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Order ( position : ĠInt , Ġtype : ĠString Ġ= Ġ"") Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( status Order ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstant . Companion . TYPE _ ORDER . FO OD , ĠConstant . Companion . TYPE _ ORDER . EXTRA Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorder Ġ= ĠOrder () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . id Ġ= ĠFirebase Utils . getTimestamp . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . menu _ id Ġ= Ġlist [ position ]. id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . title Ġ= Ġlist [ position ]. name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . price 1 Ġ= Ġlist [ position ]. price 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . type Ġ= Ġlist [ position ]. type . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . quantity Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinal Order . add ( order ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstant . Companion . TYPE _ ORDER . DR INK Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorder Ġ= ĠOrder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . id Ġ= Ġlist [ position ]. id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . menu _ id Ġ= Ġlist [ position ]. id Ġ+ Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . title Ġ= Ġlist [ position ]. name Ġ+ Ġ" Ġ($ type )" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . type Ġ= Ġlist [ position ]. type . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . quantity Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ position ]. label _ price 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . price 1 Ġ= Ġlist [ position ]. price 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ position ]. label _ price 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . price 1 Ġ= Ġlist [ position ]. price 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinal Order . add ( order ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġup Count ( position , Ġtype ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Order ( position : ĠInt , Ġorder : ĠOrder , Ġcount Order : ĠInt , Ġtype : ĠString Ġ= Ġ"") Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif ( Ġtype Ġ!= Ġ"" Ġ){ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( order . price 1 Ġ!= Ġ 0 f ){ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ position ]. count 1 Ġ= Ġcount Order ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ position ]. count 2 Ġ= Ġcount Order ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} else { ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ position ]. count 1 Ġ= Ġcount Order ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfinal Order . add ( order ) ĊĊĠĠĠĠĠĠĠ Ġup Count ( position , Ġtype ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġremove Order ( position : ĠInt , Ġtype : ĠString Ġ= Ġ"") Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġfinal Order . size Ġ- Ġ 1 Ġdown To Ġ 0 ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( final Order [ i ]. menu _ id Ġ== Ġlist [ position ]. id Ġ+ Ġtype ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinal Order . remove At ( i ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdown Count ( position , Ġtype ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġup Count ( position : ĠInt , Ġtype : ĠString Ġ= Ġ"") Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ!= Ġ"") Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ position ]. label _ price 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Count All Order . count All Price Ġ+= Ġlist [ position ]. price 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ position ]. label _ price 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Count All Order . count All Price Ġ+= Ġlist [ position ]. price 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Count All Order . count All Price Ġ+= Ġlist [ position ]. price 1 ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Count All Order . count All Order ++ ĊĊĠĠĠĠĠĠĠ Ġupdate Count Order ( position ) ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġdown Count ( position : ĠInt , Ġtype : ĠString Ġ= Ġ"") Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ!= Ġ"") Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ position ]. label _ price 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Count All Order . count All Price Ġ-= Ġlist [ position ]. price 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ position ]. label _ price 2 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Count All Order . count All Price Ġ-= Ġlist [ position ]. price 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Count All Order . count All Price Ġ-= Ġlist [ position ]. price 1 ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Count All Order . count All Order -- ĊĊĊĠĠĠĠĠĠĠ Ġupdate Count Order ( position ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Count Order ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcount Order Listener . list All Order ( final Order , Ġlist [ position ]. type ) ĊĠĠĠĠĠĠĠ Ġcount Order Listener . count All Order ( m Count All Order . count All Order , Ġlist [ position ]. type ) ĊĠĠĠĠĠĠĠ Ġcount Order Listener . count All Price ( m Count All Order . count All Price , Ġlist [ position ]. type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġswap Adapter ( list : ĠArrayList < Menu >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . list Ġ= Ġlist ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ Ċ }