package Ġcom . wil son rc . github users . data . source . remote Ċ Ċ import Ġcom . wil son rc . github users . data . models . User Ċ import Ġcom . wil son rc . github users . data . source . Users DataSource Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Single Ċ import Ġretrofit 2 . Response Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠUsers Remote DataSource Ġ@ Inject Ġconstructor ( private Ġval Ġusers Service : ĠUsers Service ) Ġ: ĊĠĠĠ ĠUsers DataSource Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Users ( since : ĠInt ): ĠObservable < Response < List < User >>> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġusers Service . getAll Users ( since ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget More Users ( url : ĠString ): ĠObservable < Response < List < User >>> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġusers Service . get More Users ( url ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġsave Fav User ( user : ĠUser ): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠException (" Save Ġremote Ġfav Ġuser Ġis Ġnot Ġallowed .") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete Fav User ( id : ĠInt ): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠException (" delete Ġremote Ġfav Ġuser Ġis Ġnot Ġallowed .") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Fav Users (): ĠSingle < List < User >> Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠException (" Get Ġfav Ġusers Ġfrom Ġremote Ġis Ġnot Ġallowed .") ĊĠĠĠ Ġ} Ċ Ċ }