package Ġcom . graf sch ok ula . stack questions . data Ċ Ċ import Ġcom . graf sch ok ula . stack questions . data . api . Stack Overflow Api Ċ 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 Ġtim ber . log . Tim ber Ċ import Ġjavax . inject . Singleton Ċ Ċ /** Ċ Ġ* Created Ġby ĠTim Ġon Ġ 1 9 , ĠJuly , Ġ 2 0 1 9 Ċ Ġ**/ Ċ @ Module Ċ object ĠApi Service Module Ġ{ ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠBASE _ URL Ġ= Ġ" https :// api . stack exchange . com " ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġprovide Ok HttpClient (): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlogger Ġ= ĠHttp Logging Interceptor ( Http Logging Interceptor . Logger Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġlogger . level Ġ= ĠHttp Logging Interceptor . Level . BASIC ĊĊĠĠĠĠĠĠĠ Ġreturn ĠOk HttpClient . Builder (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Interceptor ( logger ) ĊĠĠĠĠĠĠĠ Ġ}. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġprovide Ret rofit ( client : ĠOk HttpClient ): ĠRet rofit Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbaseUrl ( BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclient ( client ) ĊĠĠĠĠĠĠĠ Ġ}. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġprovide Stack Overflow AP i ( ret rofit : ĠRet rofit ): ĠStack Overflow Api Ġ= Ġretrofit . create ( Stack Overflow Api :: class . java ) Ċ }