package Ġcom . ap ap . cri me data app . map . presenter Ċ Ċ import Ġcom . ap ap . cri me data app . map . contract . Location Contract Ċ import Ġcom . mapbox . api . geo coding . v 5 . Geo coding Criteria Ċ import Ġcom . mapbox . api . geo coding . v 5 . Map box Geo coding Ċ import Ġcom . mapbox . api . geo coding . v 5 . models . C arm en Feature Ċ import Ġcom . mapbox . api . geo coding . v 5 . models . Geo coding Response Ċ import Ġcom . mapbox . geojson . Point Ċ import Ġcom . mapbox . mapbox sdk . geometry . LatLng Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ import Ġtim ber . log . Tim ber Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠLocation Presenter Ġ@ Inject Ġconstructor ( var Ġview : ĠLocation Contract . View ) Ġ: ĠLocation Contract . Presenter Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġsubscriptions : ĠComposite Disposable Ġ= ĠComposite Disposable () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgeo coder : ĠMap box Geo coding ĊĊĠĠĠ Ġoverride Ġfun ĠgetState For Location ( coordinates : ĠLat Lng ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġgeo coder Ġ= Ġget Geo coder ( coordinates ) ĊĊĠĠĠĠĠĠĠ Ġgeo coder . enqueue Call ( object Ġ: ĠCallback < Geo coding Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Geo coding Response > ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( java Class . simple Name , Ġ" Geo coding Ġfailure : Ġ% s ", Ġt !!. message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Geo coding Response > ?, Ġresponse : ĠResponse < Geo coding Response > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresults : ĠList < C arm en Feature > Ġ= Ġresponse ?. body () !!. features () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( results . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfeature : ĠC arm en Feature Ġ= Ġresults [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . return State ( feature . text () !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . tag ( java Class . simple Name ). v (" C arm en Ġresponse : Ġ% s ", Ġfeature . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġchoose State ( name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . display State Choice Dialog ( name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠĠĠĠĠĠĠ Ġsubscriptions . dispose () ĊĠĠĠĠĠĠĠ Ġsubscriptions . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Geo coder ( coordinates : ĠLat Lng ): ĠMap box Geo coding Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠMap box Geo coding . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. accessToken (" pk . ey J 1 Ijoi Yn J lc z E 5 OT Ai LCJ h Ijoi Y 2 s 3 OT Jw ZH du MG w 3 Z DN sb nl 5 d 3 gx Z 3 Fi Mi J 9 . 2 Q 9 x 3 r L q 6 CR 2 bq Y RY M wl Wg ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. query ( Point . from Lng Lat ( coordinates . longitude , Ġcoordinates . latitude )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. geo coding Types ( Geo coding Criteria . TYPE _ REGION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. mode ( Geo coding Criteria . MODE _ PL ACES ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetState For Coordinates ( coordinates : ĠLat Lng ) Ġ: ĠString Ġ{ ĊĊĠĠĠĠĠĠĠ Ġgeo coder Ġ= Ġget Geo coder ( coordinates ) ĊĠĠĠĠĠĠĠ Ġvar Ġfeature : ĠC arm en Feature Ġ= ĠC arm en Feature . fromJson ("") ĊĊĠĠĠĠĠĠĠ Ġgeo coder . enqueue Call ( object Ġ: ĠCallback < Geo coding Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Geo coding Response > ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( java Class . simple Name , Ġ" Geo coding Ġfailure : Ġ% s ", Ġt !!. message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Geo coding Response > ?, Ġresponse : ĠResponse < Geo coding Response > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresults : ĠList < C arm en Feature > Ġ= Ġresponse ?. body () !!. features () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( results . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfeature Ġ= Ġresults [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . tag ( java Class . simple Name ). v (" C arm en Ġresponse : Ġ% s ", Ġfeature . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfeature . text () !! ĊĠĠĠ Ġ} Ċ }