package Ġcom . alex k . n adl ans ales . ui . est ates data Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . alex k . n adl ans ales . R Ċ import Ġcom . alex k . n adl ans ales . data . network . State Ċ import Ġcom . alex k . n adl ans ales . ui . Base Fragment Ċ import Ġcom . alex k . n adl ans ales . utils . hide Ċ import Ġcom . alex k . n adl ans ales . utils . show Ċ import Ġkotlinx . android . synt hetic . main . est ates _ data _ fragment .* Ċ import Ġorg . k oin . android . view model . ext . android . viewModel ĊĊ Ċ class ĠE states Data Fragment Ġ: ĠBase Fragment ( R . layout . est ates _ data _ fragment ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠE states Data ViewModel Ġby ĠviewModel () ĊĠĠĠ Ġprivate Ġvar Ġest ates History Data Adapter : ĠE states History Data Adapter ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun ĠsetTitle () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity ?. action Bar ?. title Ġ= Ġ" Test 2 " ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġno Results . hide () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġest et esh istory Recycler . apply Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġest ates History Data Adapter Ġ= ĠE states History Data Adapter () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġest ates History Data Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ Ġbundle Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsafe Args Ġ= ĠE states Data Fragment Args . from Bundle ( bundle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquery Street Ġ= Ġsafe Args . query Street ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery Street ?. Value ?. let Ġ{ Ġinit ViewModel Listener ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ViewModel Listener ( address : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . query Address Ġ= Ġaddress ĊĠĠĠĠĠĠĠ ĠviewModel . est ates Page Data . observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġest ates History Data Adapter ?. submit List ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . network State . observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠState . Loading Ġ-> Ġloading InProgress () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠState . Loading Finish Ġ-> Ġloading Finished ( it . isEmpty ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠState . Success Ġ-> ĠTODO () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠState . Error Ġ-> ĠTODO () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġloading InProgress () Ġ{ ĊĠĠĠĠĠĠĠ Ġloading . show () ĊĠĠĠĠĠĠĠ Ġno Results . hide () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġloading Finished ( empty : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġloading . hide () ĊĠĠĠĠĠĠĠ Ġif Ġ( empty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġno Results . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } ĊĊ