package Ġcom . ls ro ar . data . di Ċ Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġcom . jak ew h art on . ret rofit 2 . adapter . kotlin . coroutines . Coroutine Call Adapter Factory Ċ import Ġcom . jak ew h art on . ret rofit 2 . adapter . rx java 2 . Rx Java 2 Call Adapter Factory Ċ import Ġcom . ls ro ar . data . Build Config Ċ import Ġcom . ls ro ar . data . remote . Mar vel Api Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġorg . k oin . core . qual ifier . named Ċ import Ġorg . k oin . dsl . module Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ val Ġretrofit Module Ġ= Ġmodule Ġ{ ĊĊĠĠĠ Ġsingle ( named (" mock Interceptor ")) Ġ{ Ġprovide Mock Interceptor ( get ()) Ġ} ĊĊĠĠĠ Ġsingle Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġlogging Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠĠĠ Ġlogging . setLevel ( Http Logging Interceptor . Level . BODY ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmock Interceptor : ĠInter ceptor Ġ= Ġget ( named (" mock Interceptor ")) ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠOk HttpClient (). newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. connect Timeout ( 6 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( 6 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Timeout ( 6 0 , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging ) ĊĊĠĠĠĠĠĠĠ Ġbuilder . add Interceptor ( mock Interceptor ) ĊĠĠĠĠĠĠĠ Ġbuilder . build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ ĠGson Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Len ient () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. serialize Null s () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle ( named (" ret rofit _ mar vel ")) Ġ{ ĊĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( get ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Build Config . MAR VEL _ URL _ BASE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ( get ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Coroutine Call Adapter Factory ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsingle ( named (" mar vel _ api ")) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġretrofit : ĠRet rofit Ġ= Ġget ( named (" ret rofit _ mar vel ")) ĊĠĠĠĠĠĠĠ Ġretrofit . create ( Mar vel Api :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ