package Ġcom . mobile dev pro . rx . use case Ċ Ċ import Ġcom . mobile dev pro . rx . executor . Execution Thread Ċ import Ġcom . mobile dev pro . rx . executor . Post Execution Thread Ċ import Ġio . reactivex . Scheduler Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ Ċ abstract Ġclass ĠBase Rx UseCase ( ĊĠĠĠ Ġexecution Thread : ĠExecution Thread , ĊĠĠĠ Ġpost Execution Thread : ĠPost Execution Thread Ċ ) Ġ{ ĊĊĠĠĠ Ġprotected Ġval Ġexecution Thread Scheduler : ĠScheduler Ġ= Ġexecution Thread . scheduler ĊĊĠĠĠ Ġprotected Ġval Ġpost Execution Thread Scheduler : ĠScheduler Ġ= Ġpost Execution Thread . scheduler ĊĊĠĠĠ Ġprivate Ġval Ġdis pos ables Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġopen Ġfun Ġdispose () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! dis pos ables . is Disposed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdis pos ables . dispose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun ĠaddTo Disposable ( dis posable : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdis pos ables . add ( dis posable ) ĊĠĠĠ Ġ} Ċ } Ċ