package Ġcom . demo . api Ċ Ċ import Ġcom . demo . Build Config Ċ import Ġcom . demo . utils . App Constant Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ object ĠAPI Handler Ġ{ ĊĊĠĠĠ Ġprivate Ġfun Ġprovide Ok HttpClient (): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinterceptor Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠĠĠ Ġinterceptor . setLevel ( Http Logging Interceptor . Level . BODY ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Network Interceptor ( API Interceptor ()). add Interceptor ( interceptor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( 1 8 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. connect Timeout ( 1 8 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġretrofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠ Ġ// Ġ. baseUrl ( Build Config . BASE _ URL ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. client ( provide Ok HttpClient ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĊĠĠĠ Ġfun Ġget Api Interface (): ĠI ApiRequest Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create ( I ApiRequest :: class . java ) ĊĠĠĠ Ġ} Ċ }