package Ġes . gu ill erm oo re ll ana . am ir ich yet . service . network Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġes . gu ill erm oo re ll ana . am ir ich yet . core . injection . qual ifier . Network Interceptor Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Ok HttpClient Ċ 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 . Named Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ class ĠNetwork Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Api Ok HttpClient (@ Network Interceptor Ġnetwork Interceptor : ĠSet < @ Jvm Suppress W ild cards ĠInter ceptor >): ĠOk HttpClient Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOk HttpClient . Builder (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . network Intercept ors (). addAll ( network Interceptor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Ret rofit (@ Named ( API _ URL ) ĠbaseUrl : ĠString , Ġgson : ĠGson , Ġclient : ĠOk HttpClient ): ĠRet rofit Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder (). add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ( gson )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( client ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( baseUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Gson (): ĠGson Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGson Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠAPI _ URL Ġ= Ġ" API _ URL " ĊĠĠĠ Ġ} Ċ }