/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 ĠV en om Vendor . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠCreated Ġby ĠV en om Vendor Ġon Ġ 1 8 - Feb - 2 0 1 9 . Ċ Ġ*/ Ċ Ċ package Ġcom . ven om vendor . t iger spike . network Ċ Ċ import Ġandroid . util . Pair Ċ Ċ import Ġandroidx . annotation . Check Result Ċ Ċ /** Ċ Ġ* ĠWhen ĠLive Ġdata Ġis Ġused , Ġerror Ġcannot Ġbe Ġdis patched Ġdirectly . Ċ Ġ* ĠHence Ġlive Ġdata Ġis Ġwrapped Ġinside Ġresponse Ġwhich Ġcan Ġdeliver Ġresponse Ġ& amp ; Ġerror Ċ Ġ* Ċ Ġ* Ġ@ param Ġ< T > ĠType Ġof Ġresponse . Ċ </ T > Ġ*/ Ċ @ Suppress (" unused ") Ċ class ĠResponse < T > Ċ /** Ċ Ġ* ĠConstructor Ġfor Ġa ĠPair . Ċ Ġ* Ċ Ġ* Ġ@ param Ġfirst Ġthe Ġfirst Ġobject Ġin Ġthe ĠPair Ċ Ġ* Ġ@ param Ġsecond Ġthe Ġsecond Ġobject Ġin Ġthe Ġpair Ċ Ġ*/ Ċ private Ġconstructor ( first : ĠT ?, Ġsecond : ĠThrowable ?) Ġ: ĠPair < T , ĠThrowable >( first , Ġsecond ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġdata Ġor Ġ` null ` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġdata : ĠT ? Ġ= Ġfirst ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġerror Ġor Ġ` null ` ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġerror : ĠThrowable ? Ġ= Ġsecond ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreate ĠResponse Ġwith Ġdata ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Check Result ĊĠĠĠĠĠĠĠ Ġfun Ġ< T > Ġcreate Response ( data : ĠT ?) Ġ= Ġcreate Response ( data , Ġnull ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreate ĠResponse Ġwith Ġerror ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Check Result ĊĠĠĠĠĠĠĠ Ġfun Ġ< T > Ġcreate Response ( err : ĠThrowable ?) Ġ= Ġcreate Response ( null , Ġerr ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreate ĠResponse Ġwith Ġdata Ġ& amp ; Ġerror ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Check Result ĊĠĠĠĠĠĠĠ Ġfun Ġ< T > Ġcreate Response ( data : ĠT ?, Ġerr : ĠThrowable ?): ĠResponse < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data Ġ== Ġnull Ġ&& Ġerr Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Data Ġ& ĠError Ġcannot Ġbe Ġnull ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResponse ( data , Ġerr ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ