package Ġnet . m E mo Zz . y ts . kotlin . data . network . connection Ċ Ċ import Ġnet . m E mo Zz . y ts . kotlin . Build Config Ċ import Ġnet . m E mo Zz . y ts . kotlin . data . network . Urls Ċ import Ġnet . m E mo Zz . y ts . kotlin . data . network . web service . Base Api Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġokhttp 3 . logging . Http Logging Interceptor . Level Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . adapter . rx java 2 . Rx Java 2 Call Adapter Factory Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ /** Ċ Ġ* ĠAuth ored Ġby ĠM oh amed ĠF athy Ġon Ġ 0 8 ĠMar , Ġ 2 0 1 8 . Ċ Ġ* ĠContact : Ġmu h amed . g end y @ gmail . com Ċ Ġ*/ Ċ class ĠRet ro Connect Ġ{ ĊĊĠ Ġfun Ġinit Ret rofit (): ĠBase Api Ġ{ ĊĠĠĠ Ġval Ġretrofit Ġ= ĠRet rofit . Builder (). baseUrl ( Urls . BASE _ URL ) ĊĠĠĠĠĠĠĠ Ġ. client ( client ) ĊĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġreturn Ġretrofit . create ( Base Api :: class . java ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġval Ġclient : ĠOk HttpClient ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠ Ġval Ġlogging Interceptor Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠ Ġlogging Interceptor . level Ġ= Ġif Ġ( Build Config . DEBUG ) ĠLevel . BODY Ġelse ĠLevel . NONE ĊĊĠĠĠĠĠ Ġval Ġclient Builder Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠ Ġ. connect Timeout ( 3 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( 3 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠ Ġ. write Timeout ( 3 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging Interceptor ) ĊĠĠĠĠĠĠĠĠĠ Ġ. retry On Connection Failure ( false ) ĊĊĠĠĠĠĠ Ġreturn Ġclient Builder . build () ĊĠĠĠ Ġ} Ċ } Ċ