package Ġcom . bat dem ir . stack exchange . di . module Ċ Ċ import Ġcom . bat dem ir . stack exchange . Build Config Ċ import Ġcom . bat dem ir . stack exchange . data . remote . datasource . My Search Params Ċ import Ġcom . bat dem ir . stack exchange . data . remote . datasource . User Paging DataSource Ċ import Ġcom . bat dem ir . stack exchange . data . remote . service . User Paging Service Ċ 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 . converter . gson . Gson Converter Factory Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ object ĠNetwork Module Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠBASE _ URL Ġ= Ġ" https :// api . stack exchange . com " ĊĠĠĠ Ġprivate Ġconst Ġval ĠAPI _ VERSION Ġ= Ġ"/ 2 . 2 /" ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Ok HttpClient (): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġok HttpClient Builder Ġ= ĠOk HttpClient . Builder () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġok HttpClient Builder . add Interceptor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Logging Interceptor (). setLevel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHttp Logging Interceptor . Level . BODY ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġok HttpClient Builder . build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Gson Converter Factory (): ĠGson Converter Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGson Converter Factory ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Ret rofit ( ĊĠĠĠĠĠĠĠ Ġgson Converter Factory : ĠGson Converter Factory , ĊĠĠĠĠĠĠĠ Ġclient : ĠOk HttpClient ĊĠĠĠ Ġ): ĠRet rofit Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL Ġ+ ĠAPI _ VERSION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( gson Converter Factory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( client ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ////////////////////////////////// //////////////// //// ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Service User Paging ( ret rofit : ĠRet rofit ): ĠUser Paging Service Ġ= ĊĠĠĠĠĠĠĠ Ġretrofit . create ( User Paging Service :: class . java ) ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Remote DataSource User Paging ( ĊĠĠĠĠĠĠĠ Ġservice : ĠUser Paging Service , ĊĠĠĠĠĠĠĠ Ġsearch Params : ĠMy Search Params ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ ĠUser Paging DataSource ( service , Ġsearch Params ) ĊĊĠĠĠ Ġ////////////////////////////////// //////////////// //// Ċ }