package Ġeu . kan ade . t ach iy omi . source . online Ċ Ċ import Ġeu . kan ade . t ach iy omi . source . model . Page Ċ import Ġrx . Observable Ċ Ċ fun ĠHttp Source . getImage Url ( page : ĠPage ): ĠObservable < Page > Ġ{ ĊĠĠĠ Ġpage . status Ġ= ĠPage . LOAD _ PAGE ĊĠĠĠ Ġreturn Ġfetch ImageUrl ( page ) ĊĠĠĠĠĠĠĠ Ġ. do OnError Ġ{ Ġpage . status Ġ= ĠPage . ERROR Ġ} ĊĠĠĠĠĠĠĠ Ġ. onError Return Ġ{ Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġ. do On Next Ġ{ Ġpage . imageUrl Ġ= Ġit Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġpage Ġ} Ċ } Ċ Ċ fun ĠHttp Source . fetch All Image Urls From Page List ( pages : ĠList < Page >): ĠObservable < Page > Ġ{ ĊĠĠĠ Ġreturn ĠObservable . from ( pages ) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġ! it . imageUrl . isNull OrEmpty () Ġ} ĊĠĠĠĠĠĠĠ Ġ. merge With ( fetch Remaining Image Urls From Page List ( pages )) Ċ } Ċ Ċ fun ĠHttp Source . fetch Remaining Image Urls From Page List ( pages : ĠList < Page >): ĠObservable < Page > Ġ{ ĊĠĠĠ Ġreturn ĠObservable . from ( pages ) ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . imageUrl . isNull OrEmpty () Ġ} ĊĠĠĠĠĠĠĠ Ġ. concat Map Ġ{ Ġget ImageUrl ( it ) Ġ} Ċ } Ċ