package Ġcom . mag di . m splash . di Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Room Ċ import Ġcom . mag di . m splash . db . App Database Ċ import Ġcom . mag di . m splash . repo . Photo Repo Ċ import Ġcom . mag di . m splash . network . Splash API Ċ import Ġcom . mag di . m splash . network . interceptor . Http Debug Interceptor Ċ import Ġcom . mag di . m splash . network . interceptor . Splash Headers Interceptor Ċ 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 Photo Repo ( ĊĠĠĠĠĠĠĠ Ġdatabase : ĠApp Database , ĊĠĠĠĠĠĠĠ Ġapi : ĠSpl ash API , ĊĠĠĠ Ġ): ĠPhoto Repo Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPhoto Repo ( database . photos Dao (), Ġapi ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide DB ( ĊĠĠĠĠĠĠĠ Ġ@ ApplicationContext Ġcontext : ĠContext ĊĠĠĠ Ġ): ĠApp Database Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRoom . database Builder ( context , ĠApp Database :: class . java , Ġ" photos - database "). build () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Splash API ( baseUrl : ĠString , ĠhttpClient : ĠOk HttpClient ): ĠSpl ash API Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( baseUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( httpClient ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( Splash API :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides HttpClient (): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Splash Headers Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Http Debug Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġbase URL (): ĠString Ġ= Ġ" https :// api . unsplash . com " Ċ Ċ }