package Ġ<%= Ġapp Package Ġ% >. di . module Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġ<%= Ġapp Package Ġ% >. Build Config Ċ import Ġ<%= Ġapp Package Ġ% >. di . ApplicationContext Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ 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 Ċ import Ġjavax . inject . Singleton Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġpr ata ma Ġon Ġ 8 / 4 / 1 7 . Ċ Ġ*/ Ċ @ Module Ċ class ĠApp Module ( val Ġapp : ĠApplication ) Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Application (): ĠApplication Ġ= Ġapp ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ ApplicationContext ĊĠĠĠ Ġfun Ġprovide Context (): ĠContext Ġ= Ġapp ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Gson (): ĠGson Ġ= ĠGson Builder (). set DateFormat (" yyyy - MM - dd "). create () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Ok HttpClient (): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlogging Interceptor Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠĠĠ Ġlogging Interceptor . level Ġ= ĠHttp Logging Interceptor . Level . BODY ĊĊĠĠĠĠĠĠĠ Ġval Ġok Http Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging Interceptor ) ĊĠĠĠĠĠĠĠ Ġreturn Ġok Http . build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Ret rofit ( ok HttpClient : ĠOk HttpClient , Ġgson : ĠGson ): ĠRet rofit Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Build Config . API _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ( gson )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ }