package Ġcom . f eli per oriz . watch dog . di Ċ Ċ import Ġcom . f eli per oriz . watch dog . data . Member Type Adapter Ċ import Ġcom . f eli per oriz . watch dog . network . Con gress Api Ċ import Ġcom . f eli per oriz . watch dog . network . Con gress Api Interceptor Ċ import Ġcom . squareup . mos hi . Kotlin Json Adapter Factory Ċ import Ġcom . squareup . mos hi . M oshi Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ 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 . mos hi . M oshi Converter Factory Ċ import Ġjavax . inject . Singleton Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġf eli per oriz Ġon Ġ 1 2 / 2 1 / 1 7 . Ċ Ġ*/ Ċ @ Module Ċ class ĠNetwork Module Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠbaseUrl Ġ= Ġ" https :// api . pro public a . org / con gress / v 1 /" ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Member Type Adapter () Ġ= ĠMember Type Adapter () ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides M oshi ( member Adapter : ĠMember Type Adapter ): ĠM oshi Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠM oshi . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( member Adapter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( Kotlin Json Adapter Factory ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Interceptor (): ĠC ong ress Api Interceptor Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠC ong ress Api Interceptor () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Client ( interceptor : ĠC ong ress Api Interceptor ) Ġ: ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( interceptor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Ret rofit ( client : ĠOk HttpClient , Ġm oshi : ĠM oshi ): ĠRet rofit Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( baseUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( client ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( M oshi Converter Factory . create ( mos hi )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Con gress Api ( ret rofit : ĠRet rofit ): ĠC ong ress Api Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create ( Con gress Api :: class . java ) ĊĠĠĠ Ġ} Ċ }