package Ġcom . br ins . ric ew e ather . data . network Ċ Ċ 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 Ġretrofit 2 . converter . scal ars . Scalars Converter Factory Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ class ĠRet rofit Factory Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTIME OUT _ CONNECTED : ĠLong Ġ= Ġ 6 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTIME OUT _ READ : ĠLong Ġ= Ġ 6 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTIME OUT _ WRITE : ĠLong Ġ= Ġ 6 0 ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Ret rofit ( baseUrl : ĠString ): ĠRet rofit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġretrofit Ġ= ĠRet rofit . Builder (). baseUrl ( baseUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Scalars Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( getClient ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġretrofit ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠgetClient (): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbuilder : ĠOk HttpClient . Builder Ġ= ĠOk HttpClient (). newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . connect Timeout ( TIMEOUT _ CONNECTED , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( TIMEOUT _ READ , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Http Logging Interceptor (). setLevel ( Http Logging Interceptor . Level . BODY )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbuilder . build () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }