package Ġhu . sz to mek . wh eres my buddy . domain . use case čĊč Ċ import Ġhu . sz to mek . wh eres my buddy . domain . ID at as ource č Ċ import Ġhu . sz to mek . wh eres my buddy . domain . action . Action č Ċ import Ġhu . sz to mek . wh eres my buddy . domain . common . App Schedulers č Ċ import Ġhu . sz to mek . wh eres my buddy . domain . common . Result č Ċ import Ġhu . sz to mek . wh eres my buddy . domain . model . Discover Entity č Ċ import Ġhu . sz to mek . wh eres my buddy . domain . model . Discover ListModel č Ċ import Ġio . reactivex . Single č Ċ import Ġjavax . inject . Inject čĊč Ċ class ĠDis cover UseCase Ġ@ Inject Ġconstructor ( private Ġval Ġapp Schedulers : ĠApp Schedulers , Ġprivate Ġval Ġdatasource : ĠID at as ource ) Ġ{ čĊčĊĠĠĠ Ġfun Ġexecute ( action : ĠAction . Discover Action ): ĠSingle < Result > Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġdatasource . getActive User () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( app Schedulers . io ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġuser Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatasource . list Connections ( user . id !! , Ġnull , Ġnull , Ġfalse , Ġ 5 0 ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Observable () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Iterable Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatasource . getLast Location ( it . other User !! , Ġuser . id ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Observable () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġlocation Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatasource . get Profile ( location . from Id !! ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Observable () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠDis cover Entity ( location , Ġit ) Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠResult . complete ( action , ĠDis cover ListModel ( it )) Ġ} čĊĠĠĠ Ġ} čĊč Ċ }