package Ġcom . ra j . base app . di Ċ Ċ import Ġcom . ra j . base app . api . Network Api Ċ import Ġcom . ra j . base app . repository . Data Repository Ċ import Ġcom . ra j . base app . repository . Data Repository Impl Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . components . Singleton Component Ċ 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 Ġ{ ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Repository ( network Api : ĠNetwork Api ): ĠData Repository Ġ= ĊĠĠĠĠĠĠĠ ĠData Repository Impl ( network Api ) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Ret rofit (): ĠRet rofit Ġ= ĊĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Network Api . BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Network Api ( ret rofit : ĠRet rofit ): ĠNetwork Api Ġ= ĊĠĠĠĠĠĠĠ Ġretrofit . create ( Network Api :: class . java ) Ċ }