package Ġcom . k uk us . administrator . dashboard Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Handler Ċ import Ġandroid . view . View Ċ import Ġcom . android human . r xf ire base 2 . database . data Ċ import Ġcom . android human . r xf ire base 2 . database . data Changes Ċ import Ġcom . android human . r xf ire base 2 . database . rx Update Children Ċ import Ġcom . k uk us . administrator . R Ċ import Ġcom . k uk us . administrator . delivery . Activity Delivery Ċ import Ġcom . k uk us . administrator . history . Activity History Ċ import Ġcom . k uk us . administrator . login . Activity Login Ċ import Ġcom . k uk us . administrator . service . Delivery Order Service Ċ import Ġcom . k uk us . administrator . wallet . Activity Wallet Ċ import Ġcom . k uk us . library . Constant . Companion . STATUS Ċ import Ġcom . k uk us . library . Firebase Utils . Companion . getDate Ċ import Ġcom . k uk us . library . Firebase Utils . Companion . get Ship Ċ import Ġcom . k uk us . library . Firebase Utils . Companion . get Staff Ċ import Ġcom . k uk us . library . Firebase Utils . Companion . getUser Auth Ċ import Ġcom . k uk us . library . Firebase Utils . Companion . getUserId Ċ import Ġcom . k uk us . library . model . Ship Ċ import Ġcom . k uk us . library . model . Staff Ċ import Ġkotlinx . android . synt hetic . main . dashboard _ deliver .* Ċ import Ġorg . jetbrains . ank o . do Async Ċ import Ġorg . jetbrains . ank o . toast Ċ Ċ class ĠDashboard Delivery Ġ: ĠActivity Dashboard () Ġ{ ĊĊĠĠĠ Ġvar Ġis Online Ġ= Ġfalse ĊĊĠĠĠ Ġlateinit Ġvar Ġservice Ġ: ĠIntent ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġservice Ġ= ĠIntent ( this , ĠDelivery Order Service :: class . java ) ĊĠĠĠĠĠĠĠ Ġservice . putExtra (" service _ delivery ", Ġ" service . Delivery Order Service ") ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . dashboard _ deliver ) ĊĊĠĠĠĠĠĠĠ ĠonClick Listener () ĊĊĠĠĠĠĠĠĠ Ġon Data Listener () ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġstop Service ( service ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠonClick Listener () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwork . setOn Checked ChangeListener Ġ{ Ġcompound Button , Ġb Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupdate Ġ= Ġmap Of (" online " Ġto Ġcompound Button . isChecked ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Staff ( getUserId ). rx Update Children ( update ). subscribe Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( compound Button . isChecked ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Online ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Service ( service ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Offline ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstop Service ( service ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Data Listener () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn _ delivery . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Order Ġ= ĠIntent ( this , ĠActivity Delivery :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent Order . putExtra (" online ", Ġis Online ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent Order ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn _ wallet . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠActivity Wallet :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn _ history . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠActivity History :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn _ logout . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠActivity Login :: class . java )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm SharedPreferences . edit (). putString (" user _ rule ", Ġ""). apply () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetUser Auth . sign Out () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop Service ( service ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Data Listener () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġdo Async Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Staff ( getUserId ). data (). subscribe Ġ{ data Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . exists ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġdata . getValue ( Staff :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user Ġ!= Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Online Ġ= Ġuser . online ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwork . isChecked Ġ= Ġis Online ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( work . isChecked ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Online ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Service ( service ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" Offline ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstop Service ( service ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Ship ( getDate ). data Changes (). subscribe Ġ{ Ġdata Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress bar . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġe arn Ġ= Ġ 0 f ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcount New Order Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcount Pl aced Order Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcount Deliver ed Order Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . children . forEach Ġ{ Ġm Data Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġm Data . getValue ( Ship :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value . status Ġ== ĠSTATUS . PENDING Ġ&& Ġvalue . delivery Id Ġ== Ġ"" Ġ&& Ġis Online ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount New Order Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value . status Ġ== ĠSTATUS . PENDING Ġ&& Ġvalue . delivery Id Ġ== Ġget UserId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Pl aced Order Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value . status Ġ== ĠSTATUS . DISPATCH ED Ġ&& Ġvalue . delivery Id Ġ== Ġget UserId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Pl aced Order Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value . status Ġ== ĠSTATUS . COMPLETE Ġ&& Ġvalue . delivery Id Ġ== Ġget UserId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcount Deliver ed Order Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe arn Ġ+= Ġvalue . delivery ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtxt _ order _ new . text Ġ= ĠStringBuilder ("$ count New Order Ġnew ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtxt _ order _ pending . text Ġ= ĠStringBuilder ("$ count Pl aced Order Ġpending ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtxt _ order _ past . text Ġ= ĠStringBuilder ("$ count Deliver ed Order Ġpast ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwallet . text Ġ= Ġ(" E arn Ġ: ĠLE Ġ$ ear n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrip . text Ġ= Ġ(" Trip Ġ: Ġ$ count Deliver ed Order ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHandler (). post Delayed ({ Ġprogress bar . visibility Ġ= ĠView . GONE Ġ}, Ġ 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ