/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠNew ĠVector ĠLtd Ċ Ġ* Ċ Ġ* ĠLicensed Ġ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 Ġim . vector . matrix . rx Ċ Ċ import Ġim . vector . matrix . android . api . Matrix Callback Ċ import Ġim . vector . matrix . android . api . util . Cancel able Ċ import Ġio . reactivex . Single Emitter Ċ Ċ internal Ġclass ĠMatrix Callback Single < T >( private Ġval Ġsingle Emitter : ĠSingle Emitter < T >) Ġ: ĠMatrix Callback < T > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonSuccess ( data : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsingle Emitter . on Success ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Failure ( failure : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsingle Emitter . try OnError ( failure ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠCancel able . to Single ( single Emitter : ĠSingle Emitter < T >) Ġ{ ĊĠĠĠ Ġsingle Emitter . set C ancellable Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . cancel () ĊĠĠĠ Ġ} Ċ } Ċ