package Ġcom . dev stories af ric a . dev stories af ric a . di Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . dev stories af ric a . dev stories af ric a . data . Api Interceptor Ċ import Ġcom . dev stories af ric a . dev stories af ric a . data . datastore . DataStore Manager Ċ import Ġcom . dev stories af ric a . dev stories af ric a . data . remote . Dev St ories Api Ċ import Ġcom . dev stories af ric a . dev stories af ric a . data . remote . Event B rite Api Ċ import Ġcom . dev stories af ric a . dev stories af ric a . repositories . auth . Auth Repository Ċ import Ġcom . dev stories af ric a . dev stories af ric a . repositories . auth . Auth Repository Impl Ċ import Ġcom . dev stories af ric a . dev stories af ric a . repositories . home . Home Repository Ċ import Ġcom . dev stories af ric a . dev stories af ric a . repositories . home . Home Repository Impl Ċ import Ġcom . dev stories af ric a . dev stories af ric a . utils . Constants . Companion . EVENT BR ITE _ API Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . android . qual ifiers . ApplicationContext Ċ import Ġdagger . h ilt . components . Singleton Component Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ @ Install In ( Singleton Component :: class ) Ċ object ĠApp Module Ġ{ ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Ret rofit (@ ApplicationContext Ġcontext : ĠContext ): ĠRet rofit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapi Interceptor Ġ= ĠApi Interceptor ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġclient Ġ= ĠOk HttpClient . Builder (). add Interceptor ( api Interceptor ). build () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( EVENT BR ITE _ API ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( client ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Event B rite Api ( ret rofit : ĠRet rofit ): ĠEvent B rite Api Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create ( Event B rite Api :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Dev St ories Api ( ret rofit : ĠRet rofit ): ĠDev St ories Api Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create ( Dev St ories Api :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Auth Repository ( api : ĠDev St ories Api ): ĠAuth Repository Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠAuth Repository Impl ( api ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Home Repository ( api : ĠEvent B rite Api ): ĠHome Repository Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠHome Repository Impl ( api ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide ApplicationContext ( ĊĠĠĠĠĠĠĠ Ġ@ ApplicationContext Ġcontext : ĠContext ĊĠĠĠ Ġ) Ġ= Ġcontext ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Datastore (@ ApplicationContext Ġcontext : ĠContext ): ĠData Store Manager Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠData Store Manager ( context ) ĊĠĠĠ Ġ} Ċ }