package Ġeu . w aw r zy c ze k . find fl ights . fl ights Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . recyclerview . widget . Default Item Animator Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġeu . w aw r zy c ze k . find fl ights . R Ċ import Ġeu . w aw r zy c ze k . find fl ights . common . Simple DateTime Ċ import Ġeu . w aw r zy c ze k . find fl ights . common . plus Assign Ċ import Ġeu . w aw r zy c ze k . find fl ights . databinding . Activity Fl ights Binding Ċ import Ġeu . w aw r zy c ze k . find fl ights . fl ights . model . Flight Ċ import Ġeu . w aw r zy c ze k . find fl ights . search . model . Search Data Ċ import Ġeu . w aw r zy c ze k . find fl ights . search . model . Station Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ import Ġorg . k oin . core . parameter . parameters Of Ċ import Ġjava . util .* Ċ Ċ private Ġconst Ġval ĠSEARCH _ DATA Ġ= Ġ" search _ data " Ċ Ċ fun ĠstartActivity ( context : ĠContext , Ġsearch Data : ĠSearch Data ) Ġ{ ĊĠĠĠ Ġcontext . startActivity ( Intent ( context , ĠF lights Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġput Extra ( SEARCH _ DATA , Ġsearch Data ) ĊĠĠĠ Ġ}) Ċ } Ċ Ċ class ĠF lights Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġfl ights ViewModel Ġby ĠviewModel < Fl ights ViewModel > Ġ{ ĊĠĠĠĠĠĠĠ Ġparameters Of ( intent . get Parcelable Extra < Search Data >( SEARCH _ DATA )) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġfl ights Adapter Ġby Ġlazy Ġ{ ĠF lights Adapter Ġ{ Ġfl ights ViewModel . flight Click ( it ) Ġ} Ġ} ĊĠĠĠ Ġprivate Ġval Ġdis pos ables Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠData Binding Util . set ContentView < Activity Fl ights Binding >( this , ĠR . layout . activity _ fl ights ) ĊĠĠĠĠĠĠĠ Ġbinding . vm Ġ= Ġfl ights ViewModel ĊĠĠĠĠĠĠĠ Ġbinding . try Again . setOnClickListener Ġ{ Ġfl ights ViewModel . load Fl ights () Ġ} ĊĠĠĠĠĠĠĠ Ġprepare RecyclerView ( binding ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġfl ights ViewModel . search Data ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġdata . origin . name Ġ+ Ġ" Ġ> Ġ" Ġ+ Ġdata . destination . name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġfl ights ViewModel . load Fl ights () ĊĠĠĠĠĠĠĠ Ġdis pos ables Ġ+= Ġfl ights ViewModel . fl ights . subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfl ights Adapter . update Items ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠĠĠĠĠ Ġdis pos ables . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item ?. itemId Ġ== Ġandroid . R . id . home ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare RecyclerView ( binding : ĠActivity Fl ights Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . re cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġbinding . re cyclerView . adapter Ġ= Ġfl ights Adapter ĊĠĠĠĠĠĠĠ Ġbinding . re cyclerView . item Animator Ġ= ĠDefault Item Animator () ĊĠĠĠ Ġ} Ċ } Ċ