package Ġcom . ball ast lane . android . base library . common . mv vm Ċ Ċ import Ġandroid . content . res . Resources Ċ import Ġcom . ball ast lane . android . base library . R Ċ import Ġcom . ball ast lane . android . base library . model . ResponseError Ċ import Ġcom . squareup . mos hi . Json Adapter Ċ import Ġcom . squareup . mos hi . M oshi Ċ import Ġretrofit 2 . HttpException Ċ import Ġjava . io . IOException Ċ Ċ /** Ċ Ġ* Ġ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 . Ċ Ġ*/ Ċ interface ĠError Message Factory Ġ{ ĊĊĠĠĠ Ġval Ġm oshi : ĠM oshi ĊĊĠĠĠ Ġval Ġresources : ĠResources ĊĊĠĠĠ Ġfun Ġget ErrorMessage ( error : ĠThrowable ): ĠString Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( error Ġis ĠHttp Exception Ġ&& Ġerror . code () Ġin Ġ 4 0 0 .. 4 9 9 ) Ġ-> Ġget Http ErrorMessage ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( error Ġis ĠHttp Exception Ġ&& Ġerror . code () Ġ>= Ġ 5 0 0 ) Ġ-> Ġresources . getString ( R . string . error _ internal _ server ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( error Ġis ĠIOException ) Ġ-> Ġresources . getString ( R . string . error _ connection _ un available ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġresources . getString ( R . string . error _ unknown ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Http ErrorMessage ( error : ĠHttp Exception ): ĠString Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġerror . response (). error Body () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter : ĠJson Adapter < ResponseError > Ġ= Ġm oshi . adapter ( ResponseError :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Response Ġ= Ġadapter . fromJson ( body !!. string ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Response . user Message ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( error : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getString ( R . string . error _ unknown ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ } Ċ