/* Ċ Ġ* ĠĠĠĠ ĠCopyright Ġ 2 0 1 8 Ġ@ Ġhttps :// github . com / a ol iv afa ura Ċ Ġ* Ċ Ġ* Ġ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 Ġes . mn m app . a olv . data . repository . images Ċ Ċ import Ġes . mn m app . a olv . data . Endpoint Urls Ċ import Ġes . mn m app . a olv . data . entity . Placeholder Entity Ċ import Ġes . mn m app . a olv . data . entity . map To Placeholder Ċ import Ġes . mn m app . a olv . data . repository . images . datasource . cloud . Place holders Cloud DataSource Ċ import Ġes . mn m app . a olv . data . repository . images . datasource . local . Place holders Local DataSource Ċ import Ġes . mn m app . a olv . domain . entity . Placeholder Ċ import Ġes . mn m app . a olv . domain . repository . Images Repository Ċ import Ġes . mn m app . a olv . domain . repository . Screen Density Ċ import Ġio . reactivex . Single Ċ import Ġio . reactivex . internal . operators . single . Single Just Ċ Ċ class ĠImages Data Repository ( ĊĠĠĠ Ġprivate Ġval Ġplaceholders Cloud DataSource : ĠPlace holders Cloud DataSource , ĊĠĠĠ Ġprivate Ġval Ġplaceholders Local DataSource : ĠPlace holders Local DataSource Ċ ) Ġ: ĠImages Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Place holders ( density : ĠScreen Density ): ĠSingle < List < Placeholder >> Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġhandle Local Response ( list : ĠList < Placeholder Entity >) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSingle Just ( list ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Cloud DataSource . get Place holders ( density ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Success Ġ{ Ġinsert On Database ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Return Ġ{ Ġlist Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġplaceholders Local DataSource . getAll () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġhandle Local Response ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . map Ġ{ Ġmap To Placeholder ( it ) Ġ} Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Log os For Sources ( var arg Ġsource : ĠString ): ĠSingle < Map < String , ĠString >> Ġ= ĊĠĠĠĠĠĠĠ ĠSingle . just ( source . map Ġ{ Ġit Ġto Ġ"${ Endpoint Urls . logo Api Url }$ it " Ġ}. toMap ()) ĊĊĠĠĠ Ġprivate Ġfun Ġinsert On Database ( list : ĠList < Placeholder Entity >) Ġ{ ĊĠĠĠĠĠĠĠ Ġplaceholders Local DataSource . insert All (* list . to Typed Array ()) ĊĠĠĠ Ġ} Ċ }