package Ġbr . u fs . u ol challenge . data Ċ Ċ import Ġbr . u fs . u ol challenge . data . handlers . Gson ErrorHandler Ċ import Ġbr . u fs . u ol challenge . data . handlers . Networking ErrorHandler Ċ import Ġbr . u fs . u ol challenge . data . handlers . Rest Errors Handler Ċ import Ġbr . u fs . u ol challenge . data . models . News Feed Payload Ċ import Ġbr . u fs . u ol challenge . data . rest . U OL WebService Ċ import Ġbr . u fs . u ol challenge . domain . Fetch News Feed Ċ import Ġbr . u fs . u ol challenge . domain . News Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Scheduler Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġbir a Ġon Ġ 1 1 / 3 / 1 7 . Ċ Ġ*/ Ċ Ċ class ĠNews Feed Infrastructure ( private Ġval Ġweb service : ĠU OL WebService , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġio Bounded Scheduler : ĠScheduler ) Ġ: ĠFetch News Feed Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġrest ErrorHandler Ġ= ĠRest Errors Handler < News Feed Payload >() ĊĠĠĠ Ġprivate Ġval Ġnetworking ErrorHandler Ġ= ĠNetwork ing ErrorHandler < News Feed Payload >() ĊĠĠĠ Ġprivate Ġval Ġgson ErrorHandler Ġ= ĠGson ErrorHandler < News Feed Payload >() ĊĊĠĠĠ Ġprivate Ġval Ġmapper Ġ= ĠContent News Mapper () ĊĊĠĠĠ Ġoverride Ġfun Ġlatest News (): ĠObservable < News > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġweb service . latest News () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( io Bounded Scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( rest ErrorHandler ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( networking ErrorHandler ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( gson ErrorHandler ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġpayload Ġ-> ĠObservable . from Iterable ( payload . feed ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġcontent Ġ-> Ġmapper . to News ( content ) Ġ} ĊĠĠĠ Ġ} Ċ Ċ }