package Ġcom . mit s uki . arm ory . http ro ok ie . observable Ċ Ċ import Ġcom . mit s uki . arm ory . http ro ok ie . Mediator Ċ import Ġcom . mit s uki . arm ory . http ro ok ie . response . Response Ċ import Ġio . reactivex . rx java 3 . core . Observable Ċ import Ġio . reactivex . rx java 3 . core . Observer Ċ import Ġio . reactivex . rx java 3 . dis pos ables . Disposable Ċ import Ġio . reactivex . rx java 3 . exceptions . Composite Exception Ċ import Ġio . reactivex . rx java 3 . exceptions . Exceptions Ċ import Ġio . reactivex . rx java 3 . plugins . Rx Java Plugins Ċ Ċ internal Ġclass ĠExecute Observable < T Ġ: ĠAny >( private Ġval Ġm Mediator : ĠMed iator < T >) Ġ: ĊĠĠĠ ĠObservable < Response < T >>() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġsubscribe Actual ( observer : ĠObserver < in ĠResponse < T >> ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmedi ator Ġ= Ġm Mediator . clone () ĊĠĠĠĠĠĠĠ Ġobserver ?. on Subscribe ( Call Disposable ( medi ator )) ĊĠĠĠĠĠĠĠ Ġvar Ġterminated Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse : ĠResponse < T > Ġ= Ġmedi ator . execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! medi ator . is Canceled ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobserver ?. onNext ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! medi ator . is Canceled ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġterminated Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobserver ?. onComplete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExceptions . throw If Fatal ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( terminated ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRx Java Plugins . onError ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ(! medi ator . is Canceled ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobserver ?. onError ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( inner : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExceptions . throw If Fatal ( inner ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRx Java Plugins . onError ( Composite Exception ( t , Ġinner )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġclass ĠCall Disposable < T Ġ: ĠAny >( private Ġval Ġm Mediator : ĠMed iator < T >) Ġ: ĠDis posable Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġis Disposed (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm Mediator . is Canceled () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdispose () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Mediator . cancel () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }