package Ġcom . github . cat om izer . cat gallery . repository Ċ Ċ import Ġcom . github . cat om izer . data . Cat Model Mapper Ċ import Ġcom . github . cat om izer . data . db . Favorite C ats Dao Ċ import Ġcom . github . cat om izer . data . network . Cat Api Ċ import Ġcom . github . cat om izer . data . network . model . Cat ApiModel Ċ import Ġcom . github . cat om izer . error . Network Error Mapper Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . Single Ċ Ċ class ĠCat Images Repository ( ĊĠĠĠ Ġprivate Ġval Ġcat Api : ĠCat Api , ĊĠĠĠ Ġprivate Ġval Ġfavorite C ats Dao : ĠF avorite C ats Dao , ĊĠĠĠ Ġprivate Ġval Ġnetwork ErrorHandler : ĠNetwork Error Mapper , ĊĠĠĠ Ġprivate Ġval Ġcat Model Mapper : ĠCat Model Mapper Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġget Cat Images ( limit : ĠInt , Ġpage : ĠInt ): ĠSingle < List < Cat ApiModel >> Ġ= ĊĠĠĠĠĠĠĠ Ġcat Api . getC at Images ( limit , Ġpage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Resume Next Ġ{ ĠSingle . error ( network ErrorHandler . map Error ( it )) Ġ} ĊĊĠĠĠ Ġfun Ġadd Cat To F avorites ( cats : ĠList < Cat ApiModel >): ĠComp letable Ġ= ĊĠĠĠĠĠĠĠ Ġfavorite C ats Dao . insert C ats ( cats . map Ġ{ Ġcat Model Mapper . map To ( it ) Ġ}) ĊĊĠĠĠ Ġfun ĠgetAll F avorites (): ĠSingle < List < Cat ApiModel >> Ġ= ĊĠĠĠĠĠĠĠ Ġfavorite C ats Dao . getAll (). map Ġ{ Ġcat Db List Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcat Db List . map Ġ{ Ġcat Model Mapper . map From ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ }