package Ġcom . babylon . orbit . sample . domain . user Ċ Ċ import Ġcom . babylon . orbit . sample . network . UserService Ċ import Ġio . reactivex . Observable Ċ Ċ class ĠGet UserProfile UseCase ( ĊĠĠĠ Ġprivate Ġval ĠuserService : ĠUserService Ċ ) Ġ{ ĊĊĠĠĠ Ġfun ĠgetUser Profile ( userId : ĠInt ): ĠObservable < UserProfile Status > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠuserService . getUser Profile ( userId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map < UserProfile Status > Ġ{ ĠUser Profile Status . Result ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Observable () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. start With ( UserProfile Status . Loading ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Return Ġ{ ĠUser Profile Status . Failure ( it ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ