package Ġme . d mb a . team work boards . domain . impl Ċ Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġme . d mb a . team work boards . common . extensions . addTo Ċ import Ġme . d mb a . team work boards . data . model . access . Auth Repo Ċ import Ġme . d mb a . team work boards . domain . base . Disposable Presenter Ċ import Ġme . d mb a . team work boards . domain . contract . Login Contract Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġd mb a Ġon Ġ 7 / 1 6 / 1 8 . Ċ Ġ*/ Ċ internal Ġclass ĠLogin Presenter Ġ@ Inject Ġconstructor ( ĊĊĠĠĠ Ġprivate Ġval Ġview : ĠLogin Contract . View , ĊĊĠĠĠ Ġprivate Ġval Ġnavigator : ĠLogin Contract . Navigator , ĊĊĠĠĠ Ġprivate Ġval Ġauth Repo : ĠAuth Repo Ċ Ċ ) Ġ: ĠDis posable Presenter (), ĠLogin Contract . Presenter Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( auth Repo . has Api Token ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator . goTo Board s () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . load Login Page ( auth Repo . login Url ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Receive Login Code ( code : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġauth Repo . authenticate ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( this :: on Success , Ġthis :: onError ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo ( dis pos ables ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠonSuccess () Ġ{ ĊĠĠĠĠĠĠĠ Ġnavigator . goTo Board s () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠonError ( throwable : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . show Login Error () ĊĠĠĠ Ġ} Ċ Ċ } Ċ