package Ġcom . hod inv . products . services . network Ċ Ċ import Ġcom . hod inv . products . Build Config Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ 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 Ċ Ċ class ĠNetwork Provider Impl ( private Ġval ĠbaseUrl : ĠString ) Ġ: ĠNetwork Provider Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcommon Api : ĠRet rofit ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠhttpClient Ġ= ĠOk HttpClient . Builder () ĊĊĠĠĠĠĠĠĠ Ġadd Logging ( httpClient ) ĊĊĠĠĠĠĠĠĠ Ġval Ġclient Ġ= ĠhttpClient . build () ĊĠĠĠĠĠĠĠ Ġcommon Api Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( client ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( baseUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġadd Logging ( httpClient : ĠOk HttpClient . Builder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlogging Interceptor Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠĠĠ Ġlogging Interceptor . level Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) ĠHttp Logging Interceptor . Level . BODY Ġelse ĠHttp Logging Interceptor . Level . NONE ĊĠĠĠĠĠĠĠ ĠhttpClient . add Interceptor ( logging Interceptor ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġapi : ĠData Api ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcommon Api . create ( Data Api :: class . java ) Ċ }