package Ġcom . and rew m . weather or not . injection . modules Ċ Ċ import Ġcom . and rew m . weather or not . Build Config Ċ import Ġcom . and rew m . weather or not . data . remote . Dark Sky Api Ċ import Ġcom . and rew m . weather or not . data . remote . Google Geo Code Api Ċ import Ġcom . and rew m . weather or not . injection . scopes . Per Application Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ 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 Ċ Ċ @ Module Ċ class ĠNet Module () Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Per Application ĊĠĠĠ Ġinternal Ġfun Ġprovide Gson (): ĠGson Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGson Builder (). create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Per Application ĊĠĠĠ Ġinternal Ġfun Ġprovide Ok HttpClient (): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOk HttpClient () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Per Application ĊĠĠĠ Ġinternal Ġfun Ġprovide Dark Sky Api ( gson : ĠGson , Ġok HttpClient : ĠOk HttpClient ): ĠDark Sky Api Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠhttpClient Builder Ġ= Ġok HttpClient . newBuilder () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlogging Interceptor Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogging Interceptor . level Ġ= ĠHttp Logging Interceptor . Level . BODY ĊĠĠĠĠĠĠĠĠĠĠĠ ĠhttpClient Builder . add Interceptor ( logging Interceptor ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Build Config . BASE _ FORE CAST _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ( gson )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create With Scheduler ( Schedulers . io ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. call Factory ( httpClient Builder . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (). create ( Dark Sky Api :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Per Application ĊĠĠĠ Ġinternal Ġfun Ġprovide Google Geo Code Api ( gson : ĠGson , Ġok HttpClient : ĠOk HttpClient ): ĠGoogle Geo Code Api Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠhttpClient Builder Ġ= Ġok HttpClient . newBuilder () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlogging Interceptor Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogging Interceptor . level Ġ= ĠHttp Logging Interceptor . Level . BODY ĊĠĠĠĠĠĠĠĠĠĠĠ ĠhttpClient Builder . add Interceptor ( logging Interceptor ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Build Config . BASE _ GEO CODING _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ( gson )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create With Scheduler ( Schedulers . io ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. call Factory ( httpClient Builder . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (). create ( Google Geo Code Api :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ