package Ġcom . example . with bread tech test Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ 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 Ġcom . example . with bread tech test . adapter . WB Venue Adapter Ċ import Ġcom . example . with bread tech test . api . WB Repository Ċ import Ġcom . example . with bread tech test . api . WB Service Ċ import Ġcom . example . with bread tech test . databinding . Activity Main Binding Ċ import Ġcom . example . with bread tech test . model . Main ViewModel Ċ import Ġcom . example . with bread tech test . model . WB ViewModel Factory Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar ĠviewModel : ĠMain ViewModel ĊĠĠĠ Ġlateinit Ġvar Ġbinding : ĠActivity Main Binding ĊĠĠĠ Ġprivate Ġval Ġadapter Ġ= ĠW BV en ue Adapter () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Main Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĠĠĠĠĠĠĠ Ġval Ġw B Service Ġ= ĠW B Service . getInstance () ĊĠĠĠĠĠĠĠ Ġval Ġw B Repository Ġ= ĠW B Repository ( w B Service ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( this , ĠW B ViewModel Factory ( w B Repository )). get ( Main ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġbinding . recyclerview . adapter Ġ= Ġadapter ĊĊĊĠĠĠĠĠĠĠ ĠviewModel . venue List . observe ( this , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" MainActivity "," venue List Ġobserved : Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . set Ven ues ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . errorMessage . observe ( this , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġit , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . loading . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . progress Dialog . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . progress Dialog . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠ ĠviewModel . getAll Ven ues () ĊĊĠĠĠ Ġ} Ċ }