package Ġcom . ball ast lane . android . base library . model . error Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . ball ast lane . android . base library . utils . Rest Delegate Ċ import Ġcom . google . gson . Gson Ċ import Ġretrofit 2 . adapter . rx java 2 . HttpException Ċ import Ġjava . net . Socket TimeoutException Ċ import Ġjava . net . Unknown Host Exception ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠM ari ange la ĠSal ced o Ġ( m ari ange las al ced o @ ball ast lane . com ) Ġon Ġ 3 / 8 / 1 8 . Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 ĠBall ast ĠL ane ĠApplications ĠLLC . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ open Ġclass ĠApi Error Factory Ġ{ ĊĊĠĠĠ Ġfun Ġparse ( ctx : ĠContext , Ġerror : ĠThrowable , Ġlistener : ĠApi Error Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Related To Network ( error ) Ġ-> Ġlistener . on Network Error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx . getString ( Rest Delegate . instance . no Internet String ID ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Network ErrorType ( error )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġis ĠHttp Exception Ġ-> Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Obj Ġ= ĠGson (). fromJson ( error . response (). error Body () !!. char Stream (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApi Error :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on ApiError ( Error Factory . get ErrorMessage ( ctx , Ġerror Obj . errorCode ), Ġerror Obj ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Network Error ( Error Factory . get ErrorMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠError Factory . GENERAL _ DEFAULT _ ERROR ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNetwork ErrorType . GENERAL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġis ĠApi Error Ġ-> Ġlistener . on ApiError ( Error Factory . get ErrorMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror . errorCode ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Network ErrorType ( error : ĠThrowable ): ĠNetwork ErrorType Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Network Error ( error ) Ġ-> ĠNetwork ErrorType . NETWORK ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Unknown Host Exception ( error ) Ġ-> ĠNetwork ErrorType . UNKNOWN _ HOST ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Socket TimeoutException ( error ) Ġ-> ĠNetwork ErrorType . SOCKET _ TIME _ OUT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠNetwork ErrorType . GENERAL ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Network Error ( error : ĠThrowable ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġerror Ġis Ġjava . net . Connect Exception ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Unknown Host Exception ( error : ĠThrowable ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġerror Ġis ĠUnknown Host Exception ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Socket TimeoutException ( error : ĠThrowable ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġerror Ġis ĠSocket TimeoutException ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Related To Network ( error : ĠThrowable ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġis Network Error ( error ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Socket TimeoutException ( error ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Unknown Host Exception ( error ) ĊĠĠĠ Ġ} Ċ } Ċ