package Ġcom . cha ity . android . easy . move . ui . delivery Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġandroidx . paging . Paged List Ċ import Ġandroidx . recyclerview . widget . Divider Item Decoration Ċ import Ġcom . cha ity . android . easy . move . Build Config . B UNDLE _ KEY _ DE LI VERY Ċ import Ġcom . cha ity . android . easy . move . R Ċ import Ġcom . cha ity . android . easy . move . listener . Delivery ItemClickListener Ċ import Ġcom . cha ity . android . easy . move . model . Delivery Ċ import Ġcom . cha ity . android . easy . move . ui . base . Base Activity Ċ import Ġcom . cha ity . android . easy . move . ui . map . Maps Activity Ċ import Ġkotlinx . android . synt hetic . main . activity _ delivery .* Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠDelivery Activity Ġ: ĠBase Activity < Del iv eries ViewModel >(), ĠDelivery ItemClickListener Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġfactory : ĠViewModel Provider . Factory ĊĠĠĠ Ġvar Ġadapter Ġ= Ġ ĠDelivery Adapter ( this ) ĊĊĠĠĠ Ġprivate Ġvar ĠviewModel : ĠDel iv eries ViewModel ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġshow Progress : ĠBoolean Ġ= Ġfalse ĊĊĊĠĠĠ Ġoverride Ġfun Ġget ViewModel (): ĠDel iv eries ViewModel Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġget Ġthe Ġview Ġmodel ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Providers . of ( this , Ġfactory ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( Del iv eries ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠviewModel Ġas ĠDel iv eries ViewModel ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ delivery ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġget Ġthe Ġview Ġmodel ĊĠĠĠĠĠĠĠ Ġget ViewModel () ĊĊĊĠĠĠĠĠĠĠ Ġ// Ġadd Ġdiv iders Ġbetween ĠRecyclerView 's Ġrow Ġitems ĊĠĠĠĠĠĠĠ Ġval Ġdecoration Ġ= ĠDiv ider Item Decoration ( this , ĠDiv ider Item Decoration . VERTICAL ) ĊĠĠĠĠĠĠĠ Ġlist . addItem Decoration ( decoration ) ĊĊĠĠĠĠĠĠĠ Ġinit Adapter () ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġinit Adapter () Ġ{ ĊĠĠĠĠĠĠĠ Ġlist . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ ĠviewModel ?. repos ?. observe ( this , ĠObserver < Paged List < Delivery >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" Activity ", Ġ" list : Ġ${ it ?. size }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Empty List ( it ?. size Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter ?. submit List ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ ĠviewModel ?. network Errors ?. observe ( this , ĠObserver < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ"\ uD 8 3 D \ u DE 2 8 ĠW oo ops Ġ$ it ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel ?. loader ?. observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress Ġ= Ġit ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Hide Progress ( show Progress ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Hide Progress ( show Pro gres : ĠBoolean ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( show Pro gres !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse ĠprogressBar . visibility Ġ= ĠView . GONE ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Empty List ( show : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( show ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty List . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty List . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Item Clicked ( delivery : ĠDelivery ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdelivery ?. let Ġ{ Ġdelivery Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠMaps Activity :: class . java ). putExtra ( B UNDLE _ KEY _ DE LI VERY , Ġdelivery ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ