package Ġxyz . fc amp bell . rx play services . location services . action . geo code Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Rect F Ċ import Ġandroid . location . Address Ċ import Ġandroid . location . Geo coder Ċ import Ġio . reactivex . Observable Emitter Ċ import Ġio . reactivex . Observable On Subscribe Ċ import Ġjava . io . IOException Ċ Ċ internal Ġclass ĠGeo code ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlocation Name : ĠString , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġmax Results : ĠInt , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbounds : ĠRect F ? Ċ ) Ġ: ĠObservable On Subscribe < List < Address >> Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġsubscribe ( emitter : ĠObservable Emitter < List < Address >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgeo coder Ġ= ĠGeo coder ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġresult : ĠList < Address > ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bounds Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġgeo coder . get From Location Name ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocation Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Results , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbounds . bottom . toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbounds . left . toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbounds . top . toDouble (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbounds . right . toDouble ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġgeo coder . get From Location Name ( location Name , Ġmax Results ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onNext ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onComplete () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onError ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ