package Ġcom . y uch en . how yo . plan . find location Ċ Ċ import Ġandroid . location . Geo coder Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . KeyEvent Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . input method . Editor Info Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġcom . google . android . gms . location . F used Location Provider Client Ċ import Ġcom . google . android . gms . location . Location Services Ċ import Ġcom . google . android . gms . maps . Google Map Ċ import Ġcom . google . android . gms . maps . On Map Ready Callback Ċ import Ġcom . google . android . gms . maps . Support Map Fragment Ċ import Ġcom . y uch en . how yo . How Yo Application Ċ import Ġcom . y uch en . how yo . R Ċ import Ġcom . y uch en . how yo . databinding . Fragment Find Location Binding Ċ import Ġcom . y uch en . how yo . ext . get Vm Factory Ċ Ċ class ĠFind Location Fragment Ġ: ĠFragment (), ĠOn Map Ready Callback Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġgoogle Map : ĠGoogle Map ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm F used Location Provider Client : ĠF used Location Provider Client ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment Find Location Binding ĊĠĠĠ Ġval ĠviewModel Ġby Ġview Models < Find Location ViewModel > Ġ{ Ġget Vm Factory () Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Find Location Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġbinding . lifecycle Owner Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġbinding . viewModel Ġ= ĠviewModel ĊĊĠĠĠĠĠĠĠ Ġbinding . recycler Find Location Days . adapter Ġ= ĠFind Location Days Adapter ( viewModel ) ĊĊĠĠĠĠĠĠĠ Ġbinding . edit text Find Location Search . setOn Editor ActionListener Ġ{ Ġ_, Ġaction Id , Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Id Ġ== ĠEditor Info . IME _ ACTION _ SEARCH Ġ|| Ġaction Id Ġ== ĠEditor Info . IME _ ACTION _ DONE Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . action Ġ== ĠKeyEvent . ACTION _ DOWN Ġ|| Ġevent . action Ġ== ĠKeyEvent . KEYCODE _ ENTER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgeo Loc ate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠMap ĊĠĠĠĠĠĠĠ Ġm F used Location Provider Client Ġ= ĠLocation Services . getF used Location Provider Client ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHow Yo Application . instance ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġmap Fragment Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild FragmentManager . find Fragment ById ( R . id . map _ find _ location _ destination ) Ġas ĠSupport Map Fragment ĊĠĠĠĠĠĠĠ Ġmap Fragment . getMap Async ( this ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Map Ready ( map : ĠGoogle Map ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . google Map Ġ= Ġmap ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgeo Loc ate () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgeo coder Ġ= ĠGeo coder ( context ) ĊĊĠĠĠĠĠĠĠ Ġgeo coder . get From Location Name ( binding . edit text Find Location Search . text . toString (), Ġ 1 ) ĊĠĠĠ Ġ} Ċ } Ċ