package Ġcom . tas om ani ac . dev widget . extensions Ċ Ċ import Ġio . reactivex . Comp letable Transformer Ċ import Ġio . reactivex . Flow able Transformer Ċ import Ġio . reactivex . Maybe Transformer Ċ import Ġio . reactivex . Observable Transformer Ċ import Ġio . reactivex . Scheduler Ċ import Ġio . reactivex . Single Transformer Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ Ċ class ĠS cheduling Strategy ( private Ġval Ġexecutor : ĠScheduler , Ġprivate Ġval Ġnot ifier : ĠScheduler ) Ġ{ ĊĊĠĠĠ Ġfun Ġ< T > Ġfor Observable () Ġ= ĠObservable Transformer < T , ĠT > Ġ{ Ġobservable Ġ-> ĊĠĠĠĠĠĠĠ Ġobservable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( executor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( notifier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġfor Flow able () Ġ= ĠFlow able Transformer < T , ĠT > Ġ{ Ġflow able Ġ-> ĊĠĠĠĠĠĠĠ Ġflow able ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( executor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( notifier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġfor Maybe () Ġ= ĠMaybe Transformer < T , ĠT > Ġ{ Ġmaybe Ġ-> ĊĠĠĠĠĠĠĠ Ġmaybe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( executor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( notifier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfor Comp letable () Ġ= ĠComp letable Transformer Ġ{ Ġcomplet able Ġ-> ĊĠĠĠĠĠĠĠ Ġcomplet able ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( executor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( notifier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġfor Single () Ġ= ĠSingle Transformer < T , ĠT > Ġ{ Ġsingle Ġ-> ĊĠĠĠĠĠĠĠ Ġsingle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( executor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( notifier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrun On Notifier ( run nable : ĠRunnable ): ĠDis posable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrun On Worker ( run nable , Ġnot ifier . create Worker ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrun On Executor ( run nable : ĠRunnable ): ĠDis posable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrun On Worker ( run nable , Ġexecutor . create Worker ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrun On Worker ( run nable : ĠRunnable , Ġworker : ĠScheduler . Worker ): ĠDis posable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġworker . schedule Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrunnable . run () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworker . dispose () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ