/* Ċ Ġ* Ċ Ġ* Ġ ĠCopyright Ġ( C ) Ġ 2 0 1 7 - 2 0 2 0 ĠP ier re ĠTh omain Ċ Ġ* Ċ Ġ* Ġ ĠLicensed Ġto Ġthe ĠApache ĠSoftware ĠFoundation Ġ( ASF ) Ġunder Ġone Ċ Ġ* Ġ Ġor Ġmore Ġcontributor Ġlicense Ġagreements . Ġ ĠSee Ġthe ĠNOTICE Ġfile Ċ Ġ* Ġ Ġdistributed Ġwith Ġthis Ġwork Ġfor Ġadditional Ġinformation Ċ Ġ* Ġ Ġregarding Ġcopyright Ġownership . Ġ ĠThe ĠASF Ġlicenses Ġthis Ġfile Ċ Ġ* Ġ Ġto Ġyou Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ċ Ġ* Ġ Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ċ Ġ* Ġ Ġwith Ġthe ĠLicense . Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ċ Ġ* Ġ Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ċ Ġ* Ġ Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY Ċ Ġ* Ġ ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ċ Ġ* Ġ Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ċ Ġ* Ġ Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġdev . pth omain . android . gl itch y . rx java . intercept ors . base Ċ Ċ import Ġdev . pth omain . android . gl itch y . core . interceptor . intercept ors . base . Interceptor Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Single Ċ Ċ sealed Ġclass ĠRx Interceptor Ġ: ĠInter ceptor Ġ{ ĊĊĠĠĠ Ġabstract Ġclass ĠObservable Interceptor Ġ: ĠRx Interceptor (), ĠObservable Composer Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġfinal Ġoverride Ġfun Ġintercept ( upstream : ĠAny ) Ġ= Ġwhen Ġ( upstream ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠObservable < *> Ġ-> Ġapply ( upstream Ġas ĠObservable < Any >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Expected Ġan ĠObservable , Ġwas : Ġ$ upstream ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġclass ĠSingle Interceptor Ġ: ĠRx Interceptor (), ĠSingle Composer Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġfinal Ġoverride Ġfun Ġintercept ( upstream : ĠAny ) Ġ= Ġwhen Ġ( upstream ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSingle < *> Ġ-> Ġapply ( upstream Ġas ĠSingle < Any >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Expected Ġa ĠSingle , Ġwas : Ġ$ upstream ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġclass ĠCom bined Rx Interceptor Ġ: ĠRx Interceptor (), ĠObservable Composer , ĠSingle Composer Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġfinal Ġoverride Ġfun Ġintercept ( upstream : ĠAny ): ĠAny Ġ= Ġwhen Ġ( upstream ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠObservable < *> Ġ-> Ġapply ( upstream Ġas ĠObservable < Any >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSingle < *> Ġ-> Ġapply ( upstream Ġas ĠSingle < Any >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Expected Ġan ĠObservable Ġor ĠSingle , Ġwas : Ġ$ upstream ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfinal Ġoverride Ġfun Ġapply ( upstream : ĠSingle < Any >) Ġ= Ġupstream ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Observable () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose Ġ{ Ġapply ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first Or Error () !! ĊĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠObservable Composer Ġ{ ĊĠĠĠ Ġfun Ġapply ( upstream : ĠObservable < Any >): ĠObservable < Any > Ċ } Ċ Ċ interface ĠSingle Composer Ġ{ ĊĠĠĠ Ġfun Ġapply ( upstream : ĠSingle < Any >): ĠSingle < Any > Ċ }