package Ġvor ot il enko . trend analyzer . fragments . select . exchange Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . EditText Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . activity ViewModels Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . navigation . ui . setup With Nav Controller Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . google . android . material . app bar . Material Toolbar Ċ import Ġvor ot il enko . trend analyzer . view model . App ViewModel Ċ import Ġvor ot il enko . trend analyzer . R Ċ import Ġvor ot il enko . trend analyzer . fragments . select . Search Bar Watcher Ċ Ċ /** Ċ Ġ* ĠFragment Ġfor Ġselecting Ġan Ġexchange Ġfrom Ġthe Ġlist . Ċ Ġ*/ Ċ class ĠSelect Exchange Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠView Ġmodel Ġof Ġthe Ġapplication . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġapp ViewModel : ĠApp ViewModel Ġby Ġactivity ViewModels () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ[ View Ġmodel Ġfactory ][ ViewModel Provider . Factory ] Ġfor Ġthe Ġfragment 's Ġview Ġmodel . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġvm Factory : ĠSelect Exchange VM Factory ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠView Ġmodel Ġof Ġthis Ġfragment . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠSelect Exchange ViewModel Ġby Ġview Models Ġ{ Ġvm Factory Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġapp ViewModel . symbol ToAdd ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvm Factory Ġ= ĠSelect Exchange VM Factory ( app ViewModel . observed Symbols ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ= Ġinflater . inflate ( R . layout . fragment _ select _ exchange , Ġcontainer , Ġfalse ) ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval Ġapp Context Ġ= Ġapp ViewModel . getApplication < Application >(). application Context ĊĠĠĠĠĠĠĠ Ġval Ġshown Exchange s Ġ= ĠviewModel . shown Exchange s ĊĠĠĠĠĠĠĠ Ġval Ġnav Controller Ġ= Ġfind Nav Controller () ĊĠĠĠĠĠĠĠ Ġval Ġex changes Adapter Ġ= ĠEx changes Adapter ( app Context , Ġshown Exchange s ) Ġ{ Ġexchange , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp ViewModel . symbol ToAdd ?. exchange Name Ġ= Ġexchange . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠSelect Exchange Fragment Directions . action To Select First Currency () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate ( action ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview . findViewById < RecyclerView >( R . id . rv Exchange s List ). apply Ġ{ Ġadapter Ġ= Ġex changes Adapter Ġ} ĊĠĠĠĠĠĠĠ Ġview . findViewById < EditText >( R . id . et Exchange Name ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwatcher Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch Bar Watcher ( shown Exchange s , ĠviewModel . available Exchange s , Ġex changes Adapter ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd TextChanged Listener ( watcher ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview . findViewById < Material Toolbar >( R . id . select _ exchange _ toolbar ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetup With Nav Controller ( nav Controller ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }