package Ġcom . example . pok em ont ask . modules Ċ Ċ import Ġcom . example . pok em ont ask . Build Config Ċ import Ġcom . example . pok em ont ask . apis . Api Helper Ċ import Ġcom . example . pok em ont ask . apis . Api Helper Imp Ċ import Ġcom . example . pok em ont ask . apis . End Points Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . android . components . Application Component Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . mos hi . M oshi Converter Factory Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ @ Install In ( Application Component :: class ) Ċ class ĠNetwork Module Ġ{ ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Ok HttpClient () Ġ= Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlogging Interceptor Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠĠĠ Ġlogging Interceptor . setLevel ( Http Logging Interceptor . Level . BODY ) ĊĠĠĠĠĠĠĠ ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging Interceptor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ġelse ĠOk HttpClient ĊĠĠĠĠĠĠĠ Ġ. Builder () ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Ret rofit ( ĊĠĠĠĠĠĠĠ Ġok HttpClient : ĠOk HttpClient ĊĠĠĠ Ġ): ĠRet rofit Ġ= ĊĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( M oshi Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Build Config . BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide ApiService ( ret rofit : ĠRet rofit ): ĠEnd Points = Ġretrofit . create ( End Points :: class . java ) ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Api Helper ( api Helper : ĠApi Helper Imp ): ĠApi Helper Ġ= Ġapi Helper Ċ }