package Ġcom . jb kal it . data . di Ċ Ċ import Ġcom . jb kal it . data . repository . UserRepository Ċ import Ġcom . jb kal it . data . source . remote . User Remote DataSource Contract Ċ import Ġcom . jb kal it . domain . repository . UserRepository Contract Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . components . Singleton Component Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ @ Install In ( Singleton Component :: class ) Ċ class ĠRepository Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovides UserRepository ( user Remote DataSource : ĠUser Remote DataSource Contract ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠUser Repository Contract Ġ= ĠUser Repository ( user Remote DataSource ) Ċ Ċ } Ċ