package Ġorg . step ik . android . presentation . course _ complete . dispatcher Ċ Ċ import Ġio . reactivex . Scheduler Ċ import Ġio . reactivex . rx kotlin . plus Assign Ċ import Ġio . reactivex . rx kotlin . subscribe By Ċ import Ġorg . step ic . d roid . di . qual ifiers . Background Scheduler Ċ import Ġorg . step ic . d roid . di . qual ifiers . Main Scheduler Ċ import Ġorg . step ik . android . domain . course _ complete . inter actor . Course Complete Interactor Ċ import Ġorg . step ik . android . presentation . course _ complete . Course Complete Feature Ċ import Ġru . nob ird . android . presentation . redux . dispatcher . Rx Action Dispatcher Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠCourse Complete Action Dispatcher Ċ @ Inject Ċ constructor ( ĊĠĠĠ Ġprivate Ġval Ġcourse Complete Interactor : ĠCourse Complete Interactor , ĊĠĠĠ Ġ@ Background Scheduler ĊĠĠĠ Ġprivate Ġval Ġbackground Scheduler : ĠScheduler , ĊĠĠĠ Ġ@ Main Scheduler ĊĠĠĠ Ġprivate Ġval Ġmain Scheduler : ĠScheduler Ċ ) Ġ: ĠRx Action Dispatcher < Course Complete Feature . Action , ĠCourse Complete Feature . Message >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġhandle Action ( action : ĠCourse Complete Feature . Action ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠCourse Complete Feature . Action . Fetch Course Complete Info Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomposite Disposable Ġ+= Ġcourse Complete Interactor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getC ourse Complete Info ( action . course ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( background Scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( main Scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe By ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ Ġon New Message ( Course Complete Feature . Message . Fetch Course Complete Info Success ( it )) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ= Ġ{ Ġon New Message ( Course Complete Feature . Message . Fetch Course Complete Error ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }