package Ġkr . o hy ung . data . di Ċ Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . android . components . Application Component Ċ import Ġkr . o hy ung . data . mapper . Photo Entity Mapper Ċ import Ġkr . o hy ung . data . repository . Location Repository Impl Ċ import Ġkr . o hy ung . data . repository . Photo Repository Impl Ċ import Ġkr . o hy ung . data . repository . Weather Repository Impl Ċ import Ġkr . o hy ung . data . source . local . F used Location DataSource Ċ import Ġkr . o hy ung . data . source . remote . Photo Remote DataSource Ċ import Ġkr . o hy ung . data . source . remote . Weather Remote DataSource Ċ import Ġkr . o hy ung . domain . repository . Location Repository Ċ import Ġkr . o hy ung . domain . repository . Photo Repository Ċ import Ġkr . o hy ung . domain . repository . Weather Repository Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ @ Install In ( Application Component :: class ) Ċ object ĠRepository Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Photo Repository ( ĊĠĠĠĠĠĠĠ Ġphoto Remote DataSource : ĠPhoto Remote DataSource , ĊĠĠĠĠĠĠĠ Ġphoto Entity Mapper : ĠPhoto Entity Mapper ĊĠĠĠ Ġ): ĠPhoto Repository Ġ= ĠPhoto Repository Impl ( ĊĠĠĠĠĠĠĠ Ġphoto Remote DataSource Ġ= Ġphoto Remote DataSource , ĊĠĠĠĠĠĠĠ Ġphoto Entity Mapper Ġ= Ġphoto Entity Mapper ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Weather Repository ( ĊĠĠĠĠĠĠĠ Ġweather Remote DataSource : ĠWeather Remote DataSource ĊĠĠĠ Ġ): ĠWeather Repository Ġ= ĠWeather Repository Impl ( weather Remote DataSource ) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Location Repository ( ĊĠĠĠĠĠĠĠ Ġf used Location DataSource : ĠF used Location DataSource ĊĠĠĠ Ġ): ĠLocation Repository Ġ= ĠLocation Repository Impl ( f used Location DataSource ) Ċ } Ċ