package Ġcom . play one . mobile . domain . inter actor . play one Ċ Ċ import Ġcom . play one . mobile . domain . executor . Post Execution Thread Ċ import Ġcom . play one . mobile . domain . executor . Thread Executor Ċ import Ġcom . play one . mobile . domain . inter actor . Comp letable UseCase Ċ import Ġcom . play one . mobile . domain . model . Join Ċ import Ġcom . play one . mobile . domain . model . Play one Ċ import Ġcom . play one . mobile . domain . repository . Play one Repository Ċ Ċ /** Ċ Ġ* ĠUse Ġcase Ġused Ġfor Ġmodifying Ġa Ġ[ Play one ] Ġteam Ġgroup Ġinstances Ġfrom Ġthe Ċ Ġ* Ġ[ com . play one . mobile . domain . repository . Play one Repository ]. Ċ Ġ*/ Ċ open Ġclass ĠJoin Play one Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠPlay one Repository , ĊĠĠĠ Ġthread Executor : ĠThread Executor , ĊĠĠĠ Ġpost Execution Thread : ĠPost Execution Thread Ċ ) Ġ: ĠComp letable UseCase < Join . Request >( thread Executor , Ġpost Execution Thread ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġbuild UseCase Observable ( params : ĠJoin . Request ) Ġ= Ġrepository . join Play one ( params ) Ċ }