package Ġcom . lo it p . ui . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . recyclerview . widget . Concat Adapter Ċ import Ġandroidx . recyclerview . widget . Grid LayoutManager Ċ import Ġcom . annotation . Log Tag Ċ import Ġcom . core . base . Base Fragment Ċ import Ġcom . lo it p . R Ċ import Ġcom . lo it p . adapter . Offline Result Adapter Ċ import Ġcom . lo it p . adapter . Open C age Data Result Adapter Ċ import Ġcom . lo it p . ui . activity . Search Activity Ċ import Ġcom . lo it p . view models . Main ViewModel Ċ import Ġkotlinx . android . synt hetic . main . frm _ offline _ key .* Ċ Ċ @ Log Tag (" Search Key Fragment ") Ċ class ĠOff line Key Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġmain ViewModel : ĠMain ViewModel ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġconcat Adapter Ġ= ĠConcat Adapter () ĊĠĠĠ Ġprivate Ġvar Ġoffline Result Adapter : ĠOff line Result Adapter ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġsetup Views () ĊĠĠĠĠĠĠĠ Ġsetup ViewModels () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Layout ResourceId (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . frm _ offline _ key ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġoffline Result Adapter Ġ= ĠOff line Result Adapter Ġ{ Ġresult Ġ-> Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġlog D (" offline Result Adapter Ġresult Ġ" Ġ+ Ġresult . formatted Ġ+ Ġ" Ġ- Ġ" Ġ+ Ġresult . geometry ?. lat Ġ+ Ġ" Ġ- Ġ" Ġ+ Ġresult . geometry ?. lng ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( activity Ġis ĠSearch Activity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠSearch Activity ). init Location ( result Ġ= Ġresult ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoffline Result Adapter ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconcat Adapter . add Adapter ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġgrid LayoutManager Ġ= ĠGrid LayoutManager ( context , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= Ġgrid LayoutManager ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġconcat Adapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup ViewModels () Ġ{ ĊĠĠĠĠĠĠĠ Ġmain ViewModel Ġ= Ġget ViewModel ( Main ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġmain ViewModel ?. let Ġ{ Ġm vm Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm vm . key Search LiveData . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġkey Search Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog D (" key Search LiveData Ġobserve Ġkey Search Ġ$ key Search ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm vm . key Search Change LiveData . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġkey Search Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog D (" key Search Change LiveData Ġobserve Ġkey Search Ġ$ key Search ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm vm . getList Open C age Data ( key Search ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm vm . offline List Open C age Data LiveData . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġlist Result Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffline Result Adapter ?. set Items ( items Ġ= Ġlist Result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list Result . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Label Suggestion . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Label Suggestion . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ