package Ġorg . s ugar andro se . app . ui . ro ses Ċ Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġio . reactivex . subjects . Behavior Subject Ċ import Ġjavax . inject . Inject Ċ import Ġorg . js oup . J soup Ċ import Ġorg . s ugar andro se . app . data . model . Local Display Item Ċ import Ġorg . s ugar andro se . app . data . model . Local R ose Ċ import Ġorg . s ugar andro se . app . data . model . remote . Ro ses Ċ import Ġorg . s ugar andro se . app . data . remote . S ugar And R ose Api Ċ import Ġorg . s ugar andro se . app . injection . scopes . Per Application Ċ import Ġtim ber . log . Tim ber Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠFl orian ĠSch uster Ċ Ġ* Ġfl orian . sch uster @ ta ilo red - apps . com Ċ Ġ*/ Ċ Ċ @ Per Application Ċ class ĠRo ses CacheManager Ġ@ Inject Ċ constructor ( private Ġval Ġapi : ĠS ugar And R ose Api ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġdata Ġ= Ġempty List < Local Display Item >() ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Subject . onNext ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġdata Subject : ĠBehavior Subject < List < Local Display Item >> Ġ= ĠBehavior Subject . create Default ( data ) ĊĊĠĠĠ Ġfun Ġcheck Reload Data (): ĠDis posable Ġ= Ġif Ġ( data . isEmpty ()) Ġapi . get Ro ses () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( this :: map ToLocal Ro ses ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġdata Ġ= Ġit Ġ}, ĠTim ber :: e ) ĊĠĠĠ Ġelse ĠComp letable . from Action Ġ{ Ġdata Subject . onNext ( data ) Ġ}. subscribe () ĊĊĠĠĠ Ġprivate Ġfun Ġmap ToLocal Ro ses ( ro ses : ĠRo ses ): ĠList < Local R ose > Ġ= ĠJ soup ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. parse ( ro ses . content . rendered ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. getElementsBy Tag (" img ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġit . attr (" data - attachment - id "). to Long () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Ġ= Ġit . attr (" src ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġit . attr (" data - image - title ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocal R ose ( id , Ġimage , Ġname ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ } Ċ