package Ġcom . hyper track . android . ui . screens . vis its _ management Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . core . content . res . Resources Compat Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . Fragment Pager Adapter Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġcom . hyper track . android . ui . base . Progress Dialog Fragment Ċ import Ġcom . hyper track . android . ui . base . navigate Ċ import Ġcom . hyper track . android . ui . common . util . Notification Utils Ċ import Ġcom . hyper track . android . ui . common . util . Simple Page Changed Listener Ċ import Ġcom . hyper track . android . ui . common . util . Snackbar Util Ċ import Ġcom . hyper track . android . ui . common . Tab Ċ import Ġcom . hyper track . android . ui . screens . vis its _ management . tabs . current _ trip . Current Trip Fragment Ċ import Ġcom . hyper track . android . ui . screens . vis its _ management . tabs . history . MapView Fragment Ċ import Ġcom . hyper track . android . ui . screens . vis its _ management . tabs . orders . Orders Fragment Ċ import Ġcom . hyper track . android . ui . screens . vis its _ management . tabs . places . Places Fragment Ċ import Ġcom . hyper track . android . ui . screens . vis its _ management . tabs . profile . Profile Fragment Ċ import Ġcom . hyper track . android . ui . screens . vis its _ management . tabs . summary . Summary Fragment Ċ import Ġcom . hyper track . android . utils . Injector Ċ import Ġcom . hyper track . android . utils . My Application Ċ import Ġcom . hyper track . logistics . android . github . R Ċ import Ġkotlinx . android . synt hetic . main . fragment _ vis its _ management .* Ċ Ċ class ĠVis its Management Fragment Ġ: ĠProgress Dialog Fragment ( R . layout . fragment _ vis its _ management ) Ġ{ ĊĊĠĠĠ Ġval Ġargs : ĠVis its Management Fragment Args Ġby Ġnav Args () ĊĊĠĠĠ Ġprivate Ġval Ġorders Fragment Ġ= ĠOrders Fragment . newInstance () ĊĠĠĠ Ġprivate Ġval Ġtabs Map Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠ ĠTab . CURRENT _ TR IP Ġto ĠCurrent Trip Fragment (), ĊĠĠĠĠĠĠĠ ĠTab . HISTORY Ġto ĠMap View Fragment (), ĊĠĠĠĠĠĠĠ ĠTab . ORD ERS Ġto Ġorders Fragment , ĊĠĠĠĠĠĠĠ ĠTab . PL ACES Ġto ĠPl aces Fragment . getInstance (), ĊĠĠĠĠĠĠĠ ĠTab . SUM MARY Ġto ĠSummary Fragment . newInstance (), ĊĠĠĠĠĠĠĠ ĠTab . PROFILE Ġto ĠProfile Fragment () ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġval Ġtabs Ġ= ĠInject or . provide Tabs () ĊĊĠĠĠ Ġval Ġvis its Management ViewModel : ĠVis its Management ViewModel Ġby Ġview Models Ġ{ ĊĠĠĠĠĠĠĠ ĠMy Application . injector . provide User Scope ViewModel Factory () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġvis its Management ViewModel . destination . observe ( view Lifecycle Owner , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġview pager . adapter Ġ= Ġobject Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Pager Adapter ( child FragmentManager , ĠBE HAV IOR _ RE SU ME _ ONLY _ CURRENT _ FRAGMENT ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ= Ġtabs . size ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= Ġtabs Map . getValue ( tabs [ position ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview pager . add On Page ChangeListener ( object Ġ: ĠSimple Page Changed Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Selected ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMy Application . injector . crash Reports Provider . log ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Tab Ġselected Ġ${ tabs [ position ]. name }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġsl iding _ tabs . setup With ViewPager ( view pager ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġsl iding _ tabs . tab Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsl iding _ tabs . get Tab At ( i )?. icon Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResources Compat . get Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtabs [ i ]. icon Res , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (). theme ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvis its Management ViewModel . status Bar Color . observe ( view Lifecycle Owner ) Ġ{ Ġcolor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Tracker Status . visibility Ġ= Ġif Ġ( color Ġ== Ġnull ) ĠView . GONE Ġelse ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor ?. let Ġ{ Ġtv Tracker Status . set BackgroundColor ( require Context (). getColor ( it )) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvis its Management ViewModel . status Bar Message . observe ( view Lifecycle Owner ) Ġ{ Ġmsg Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( msg ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠStatus String Ġ-> Ġtv Tracker Status . setText ( msg . string Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvis its Management ViewModel . show Spinner . observe ( view Lifecycle Owner ) Ġ{ Ġshow Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show ) Ġshow Progress () Ġelse Ġdismiss Progress () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvis its Management ViewModel . show Sync . observe ( view Lifecycle Owner ) Ġ{ Ġshow Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( show ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Utils . show Sync Notification ( require Context ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Utils . dismiss Sync Notification () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvis its Management ViewModel . is Tracking . observe ( view Lifecycle Owner ) Ġ{ Ġis Tracking Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsw Clock In . setState Without Trigger ing Listener ( is Tracking ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Clock Hint . setText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Tracking ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . clock _ hint _ tracking _ on ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . clock _ hint _ tracking _ off ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsw Clock In . setOn Checked ChangeListener Ġ{ Ġview , Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isChecked Ġ!= Ġvis its Management ViewModel . is Tracking . value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvis its Management ViewModel . switch Tracking () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvis its Management ViewModel . show Toast . observe ( view Lifecycle Owner ) Ġ{ Ġmsg Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( msg . isNotEmpty ()) ĠToast ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. makeText ( require Context (), Ġmsg , ĠToast . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvis its Management ViewModel . error Handler . error Text . observe ( view Lifecycle Owner , Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar Util . show Error Snackbar ( view , Ġerror ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġvis its Management ViewModel . refresh History () ĊĊĠĠĠĠĠĠĠ Ġargs . tab ?. let Ġ{ Ġtab Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview pager . currentItem Ġ= Ġtabs . indexOf ( args . tab ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġrefresh Orders () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġvis its Management ViewModel . show Sync . value ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNotification Utils . dismiss Sync Notification () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrefresh Orders () Ġ{ ĊĠĠĠĠĠĠĠ Ġorders Fragment . refresh () ĊĠĠĠ Ġ} ĊĊ Ċ } ĊĊ