package Ġcom . github . jo h nn ym iller gh . android . android jet pack mv vm boilerplate . common . configuration . network Ċ Ċ import Ġcom . github . jo h nn ym iller gh . android . android jet pack mv vm boilerplate . Build Config Ċ import Ġcom . github . jo h nn ym iller gh . android . android jet pack mv vm boilerplate . login . service . Demo Service Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . components . Singleton 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 Ċ Ċ /** Ċ Ġ* ĠNetwork Module Ċ Ġ* Ċ Ġ* ĠChange Ġdescription Ġhere . Ċ Ġ* Ċ Ġ* Ġ@ author ĠJ oh nn y ĠM iller Ġ( éĶ º ä¿ Ĭ ), Ġemail : Ġj oh nn ys v iva @ outlook . com , Ġ 9 / 6 / 2 1 : Ġ 8 : 4 7 ĠPM Ċ Ġ**/ Ċ @ Module Ċ @ Install In ( Singleton Component :: class ) Ċ object ĠNetwork Module Ġ{ ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ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 (" https :// api . github . com ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide ApiService ( ret rofit : ĠRet rofit ): ĠDemo Service Ġ= ĊĠĠĠĠĠĠĠ Ġretrofit . create ( Demo Service :: class . java ) Ċ } Ċ