package Ġir . be ig ir ad . domain . inter actor . use case Ċ Ċ import Ġio . reactivex . Observable Ċ import Ġir . be ig ir ad . domain . executor . Post Execution Thread Ċ import Ġir . be ig ir ad . domain . inter actor . Observable UseCase Ċ import Ġir . be ig ir ad . domain . model . G ps Location Ċ import Ġir . be ig ir ad . domain . repository . Near ly Repository Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠFar had ĠBe ig ir ad Ġon Ġ 3 / 1 / 1 9 . Ċ Ġ*/ Ċ class ĠGet My Location Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrepository : ĠN early Repository , ĊĠĠĠĠĠĠĠ Ġpost Execution Thread : ĠPost Execution Thread Ċ ) Ġ: ĊĠĠĠ ĠObservable UseCase < G ps Location , ĠGet My Location . Param >( post Execution Thread ) Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġbe Multi Thread : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfalse ĠĠ Ġ// ĠCause Ġgetting Ġlocation Ġshould Ġbe Ġon ĠUi Thread ! ĊĊĠĠĠ Ġoverride Ġfun Ġbuild UseCase Observable ( params : ĠParam ): ĠObservable < G ps Location > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . get My Location () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠParam Ċ }