package Ġir . soft ap . me fit . domain . inter actor Ċ Ċ import Ġio . reactivex . Single Ċ import Ġir . soft ap . me fit . data . model . Category Ċ import Ġir . soft ap . me fit . data . repository . Category Repository Ċ import Ġir . soft ap . me fit . domain . ab straction . Single UseCase Ċ import Ġir . soft ap . me fit . data . executor . Thread Executor Ċ import Ġir . soft ap . me fit . domain . executor . Post Execution Thread Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠFetch Categories UseCase Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġthread Executor : ĠThread Executor , ĊĠĠĠ Ġpost Execution Thread : ĠPost Execution Thread , ĊĠĠĠ Ġprivate Ġval Ġcategory Repository : ĠCategory Repository Ċ ) Ġ: ĠSingle UseCase < List < Category >, ĠUnit >( thread Executor , Ġpost Execution Thread ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbuild UseCase Observable ( params : ĠUnit ): ĠSingle < List < Category >> Ġ= Ġcategory Repository . fetch Categories () Ċ }