package Ġcom . dol . network lib . schedules Ċ Ċ import Ġcom . dol . network lib . data . Base Response Ċ import Ġcom . dol . network lib . data . Optional Ċ import Ġcom . dol . network lib . exceptions . Server Exception Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Observable Transformer Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġd lj Ġon Ġ 2 0 1 9 / 9 / 2 3 . Ċ Ġ* Ġthread Ġtransform Ċ Ġ*/ Ċ fun Ġ< T > Ġobs IO 2 Main (): ĠObservable Transformer < T , ĠT > Ġ{ ĊĠĠĠ Ġreturn ĠObservable Transformer Ġ{ ĊĠĠĠĠĠĠĠ Ġit . subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ /** Ċ Ġ* Ġhttp è¯·æ±Ĥ ç»ĵæŀľ å¤ĦçĲĨ æĸ¹æ³ķ Ċ Ġ* Ċ Ġ* Ġ@ param Ġ< T > Ċ Ġ* Ġ@ return Ċ </ T > Ġ*/ Ċ fun Ġ< T > Ġhandle _ result (): ĠObservable Transformer < Base Response < T >, ĠOptional < T >> Ġ{ ĊĠĠĠ Ġreturn ĠObservable Transformer { Ġupstream Ġ-> ĊĠĠĠĠĠĠĠ Ġupstream ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( it . success ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Http Data ( it . transform ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . error ( Server Exception ( it . code , it . msg )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ private Ġfun Ġ< T > Ġcreate Http Data ( t : ĠOptional < T >): ĠObservable < Optional < T >> Ġ{ ĊĊĠĠĠ Ġreturn ĠObservable . create Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . onNext ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . onComplete () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exc : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . onError ( exc ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }