/* Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 1 9 ĠAnd rey ĠM uk amo lov Ċ Ġ* Ċ Ġ* ĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . book cross ing . mobile . present ers Ċ Ċ import Ġcom . book cross ing . mobile . data . Books Repository Ċ import Ġcom . book cross ing . mobile . models . Book Ċ import Ġcom . book cross ing . mobile . models . Coordinates Ċ import Ġcom . book cross ing . mobile . ui . map . M vp MapView Ċ import Ġio . reactivex . Single Ċ import Ġm oxy . Inject ViewState Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . util . Linked HashMap Ċ import Ġjavax . inject . Inject Ċ import Ġkotlin . collections . Map . Entry Ċ Ċ /** Ċ Ġ* ĠPres enter Ġfor Ġmap Ġscreen Ċ Ġ*/ Ċ @ Inject ViewState Ċ class ĠMap Presenter Ġ@ Inject Ġconstructor ( ĊĠ Ġprivate Ġval Ġbooks Repository : ĠBooks Repository Ċ ) Ġ: ĠBase Presenter < M vp MapView >() Ġ{ ĊĊĠ Ġ/** ĠLoad Ġcoordinates Ġfor Ġpins Ġ*/ ĊĠ Ġfun Ġload Books Positions () Ġ{ ĊĠĠĠ Ġunsubscribe On Destroy ( ĊĠĠĠĠĠĠĠ Ġbooks Repository . load Places () ĊĠĠĠĠĠĠĠ Ġ. flatMap Iterable < Entry < String , ĠCoordinates >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplaces Map : ĠLinkedHashMap < String , ĠCoordinates > Ġ-> Ġplaces Map . entries ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠ Ġ{ Ġplace : ĠEntry < String , ĠCoordinates > Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview State . on Book Marker Loaded ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplace . key , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplace . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġthrowable : ĠThrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( throwable , Ġ" Failed Ġto Ġload Ġmarker ") ĊĠĠĠĠĠĠĠĠĠ Ġview State . onError To Load Marker () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġ/** ĠLoad Ġdetails Ġfor Ġthe Ġgiven Ġbook Ġ*/ ĊĠ Ġfun Ġload Book Details ( key : ĠString ): ĠSingle < Book > Ġ= Ġbooks Repository . load Book ( key ) Ċ }