package Ġcom . ok ors un . contact sm ine . presentation . main . details Ċ Ċ import Ġcom . ok ors un . contact sm ine . core . Contacts Manager Ċ import Ġcom . ok ors un . contact sm ine . core . Rx Schedulers Ċ import Ġcom . ok ors un . contact sm ine . db . Contact Ċ import Ġcom . ok ors un . contact sm ine . di . Ui Scope Ċ import Ġcom . ok ors un . contact sm ine . presentation . base . Presenter Ċ import Ġcom . ok ors un . contact sm ine . presentation . base . Presenter View Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġok ors un Ġon Ġ 3 0 . 0 8 . 1 6 . Ċ Ġ*/ Ċ Ċ interface ĠContact Details View Ġ: ĠPres enter View Ġ{ ĊĠĠĠ Ġfun Ġshow Contact ( data : ĠContact ) ĊĠĠĠ Ġfun Ġshow Message ( message : ĠString ) Ċ } Ċ Ċ @ Ui Scope Ċ class ĠContact Details Presenter Ċ @ Inject Ċ constructor ( private Ġval Ġrx Schedulers : ĠRx Schedulers , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontacts Manager : ĠContact s Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontact Id : ĠInt ) Ġ: ĠPres enter < Contact Details View >() Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcontacts Manager . get Contact ( contact Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. bind Until Event ( Lifecycle Event . DESTROY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. latest Cache () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( onNext Ġ= Ġ{ Ġv , Ġd Ġ-> Ġv . show Contact ( d ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ= Ġ{ Ġv , Ġe Ġ-> Ġv . showMessage ( e . message Ġ?: Ġ" ERROR ") Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġedit Contact (){ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcall Number ( number : ĠString ){ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsendMessage ( number : ĠString ){ ĊĊĠĠĠ Ġ} Ċ Ċ }