package Ġorg . step ik . android . presentation . magic _ links Ċ Ċ 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 . magic _ links . inter actor . Magic Link Interactor Ċ import Ġru . nob ird . android . presentation . base . Presenter Base Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠMagic Link Presenter Ċ @ Inject Ċ constructor ( ĊĠĠĠ Ġprivate Ġval Ġmagic Link Interactor : ĠMagic Link Interactor , ĊĊĠĠĠ Ġ@ Background Scheduler ĊĠĠĠ Ġprivate Ġval Ġbackground Scheduler : ĠScheduler , ĊĠĠĠ Ġ@ Main Scheduler ĊĠĠĠ Ġprivate Ġval Ġmain Scheduler : ĠScheduler Ċ ) Ġ: ĠPres enter Base < Magic Link View >() Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġstate : ĠMagic Link View . State Ġ= ĠMagic Link View . State . Idle ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. setState ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Data ( url : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( state Ġ!= ĠMagic Link View . State . Idle ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġstate Ġ= ĠMagic Link View . State . Loading ĊĠĠĠĠĠĠĠ Ġcomposite Disposable Ġ+= Ġmagic Link Interactor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Magic Link ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( main Scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( background Scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe By ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ Ġstate Ġ= ĠMagic Link View . State . Success ( it . url ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ= Ġ{ Ġstate Ġ= ĠMagic Link View . State . Success ( url ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }