package Ġcom . sed software . y apt alk er . data . repository Ċ Ċ import Ġcom . sed software . y apt alk er . data . mapper . UserProfile Mapper Ċ import Ġcom . sed software . y apt alk er . data . network . site . Y ap Loader Ċ import Ġcom . sed software . y apt alk er . data . system . Schedulers Provider Ċ import Ġcom . sed software . y apt alk er . domain . entity . base . UserProfile Ċ import Ġcom . sed software . y apt alk er . domain . repository . UserProfile Repository Ċ import Ġio . reactivex . Single Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠY ap UserProfile Repository Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġdata Loader : ĠY ap Loader , ĊĠĠĠ Ġprivate Ġval Ġdata Mapper : ĠUser Profile Mapper , ĊĠĠĠ Ġprivate Ġval Ġs chedulers : ĠS chedulers Provider Ċ ) Ġ: ĠUser Profile Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetUser Profile ( userId : ĠInt ): ĠSingle < UserProfile > Ġ= ĊĠĠĠĠĠĠĠ Ġdata Loader ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load UserProfile ( userId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( data Mapper ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( schedul ers . io ()) Ċ } Ċ